|
68762
|
MY about me site by @rishith12 | Stardance
|
rishith12
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T07:20:41Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my own personal website with my own creative CSS design. It includes everything regarding who I am and stuff .There is no need fo any pervious knowledge for thsi project and the most challenging part that i face was the part where i had to dsign teh css that’s it.", "repo": "https://github.com/Rishith88/About-me-site/", "demo": "https://rishith88.github.io/About-me-site/"}]...
|
[{"post_id": 78973, "ts": "202 [{"post_id": 78973, "ts": "2026-10-12T07:17:38Z", "hours": 7.6069, "text": "This is a website that I made that showcases all the projects I worked on and my own journey"}]...
|
Title: MY about me site by @rishith12 | Stardance
Title: MY about me site by @rishith12 | Stardance
Devlogs:
This is a website that I made that showcases all the projects I worked on and my own journey
Ships:
This is my own personal website with my own creative CSS design. It includes everything regarding who I am and stuff .There is no need fo any pervious knowledge for thsi project and the most challenging part that i face was the part where i had to dsign teh css that’s it....
|
1793217280.99039
|
1793303680.99039
|
|
60047
|
Rune n' Repeat Game by @Robodog81 | Stardance
|
Robodog81
|
0
|
11.59
|
0
|
[]
|
[{"post_id": 78972, "ts": "202 [{"post_id": 78972, "ts": "2026-10-12T07:15:56Z", "hours": 11.585, "text": "This project is my way to get familiar with Godot as it is my first time using the engine. I spent most of my time (after getting familiar with the engine) working with the shader script and tile maps (I made animated grass bc why not). Me and a friend have plans to recreate a game that I made is scratch a while ago and I am using this project to experiment with different assets and concepts of the game. I put a fair bit of effort into the magic shader for cast spells. It takes in a 3d noise map to display the coloured magic fog and also distorts the anything behind it. You can’t see it in the pictures but the magic is animated as the noise shifts along the Z axis making it swirl. So far I am enjoying Godot and hope to implement this into the full game when we make it. :) Here is the original game: https://scratch.mit.edu/projects/1204494990/"}]...
|
Title: Rune n' Repeat Game by @Robodog81 | Sta Title: Rune n' Repeat Game by @Robodog81 | Stardance
Devlogs:
This project is my way to get familiar with Godot as it is my first time using the engine. I spent most of my time (after getting familiar with the engine) working with the shader script and tile maps (I made animated grass bc why not). Me and a friend have plans to recreate a game that I made is scratch a while ago and I am using this project to experiment with different assets and concepts of the game. I put a fair bit of effort into the magic shader for cast spells. It takes in a 3d noise map to display the coloured magic fog and also distorts the anything behind it. You can’t see it in the pictures but the magic is animated as the noise shifts along the Z axis making it swirl. So far I am enjoying Godot and hope to implement this into the full game when we make it. :) Here is the original game: https://scratch.mit.edu/projects/1204494990/...
|
1793030072.089425
|
1793634872.089425
|
|
68390
|
MessOS by @stxrchett | Stardance
|
stxrchett
|
1
|
12.62
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T23:38:18Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an web-based OS inspired by the elements of old and new operating systems of Mac and Windows. It has a bright aquamarine and brown theme which reminds me of mint chocolate and inspired by the bright combinations of the new internet. There are two ‘apps’ and not many things to do. There are many more features I want to add but that will come later.", "repo": "https://github.com/rockysmart1/MessOS", "demo": "https://rockysmart1.github.io/MessOS/"}]...
|
[{"post_id": 78963, "ts": "202 [{"post_id": 78963, "ts": "2026-10-12T06:27:41Z", "hours": 0.4578, "text": "Apps now drag overlayed under windows and .75 opacity when pressed."}, {"post_id": 78957, "ts": "2026-10-12T05:53:02Z", "hours": 2.1667, "text": "Added few functions for better use experience. App overlay is now triggered by clicking into the window (The Spotify iframe does not allow this so I might make a custom music player) or by opening new app. Added Spotify. Added resizable windows."}, {"post_id": 78199, "ts": "2026-10-09T23:17:58Z", "hours": 3.0883, "text": "Added notes app, ability to drag apps around, notes icon, fixed a few bugs. Is this the start of something greater?"}, {"post_id": 77723, "ts": "2026-10-08T03:02:02Z", "hours": 3.3258, "text": "Changed my project name to MessOS. I added better UI and the ability to open one app being the welcome screen. Deciding on a chocolate chip mint colour theme. Cleaned up my code super neat. Hopefully by the next log it will have more than one app :P"}, {"post_id": 77689, "ts": "2026-10-07T22:10:33Z", "hours": 3.4333, "text": "Adding my first devlog! I was able to follow the tutorial and create the base of my website. The window movement took a bit of adjustment to work properly where I switched it from being based on ids to classes. By the next log I hope to make the UI more pleasant."}]...
|
Title: MessOS by @stxrchett | Stardance
Devlogs:
Title: MessOS by @stxrchett | Stardance
Devlogs:
Adding my first devlog! I was able to follow the tutorial and create the base of my website. The window movement took a bit of adjustment to work properly where I switched it from being based on ids to classes. By the next log I hope to make the UI more pleasant.
Changed my project name to MessOS. I added better UI and the ability to open one app being the welcome screen. Deciding on a chocolate chip mint colour theme. Cleaned up my code super neat. Hopefully by the next log it will have more than one app :P
Added notes app, ability to drag apps around, notes icon, fixed a few bugs. Is this the start of something greater?
Added few functions for better use experience. App overlay is now triggered by clicking into the window (The Spotify iframe does not allow this so I might make a custom music player) or by opening new app. Added Spotify. Added resizable windows.
Apps now drag overlayed under windows and .75 opacity when pressed.
Ships:
I made an web-based OS inspired by the elements of old and new operating systems of Mac and Windows. It has a bright aquamarine and brown theme which reminds me of mint chocolate and inspired by the bright combinations of the new internet. There are two ‘apps’ and not many things to do. There are many more features I want to add but that will come later....
|
1793220935.002848
|
1793307335.002848
|
|
65010
|
Music OS by @lantern | Stardance
|
lantern
|
2
|
29.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T06:42:56Z", "hours": 24.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "MusicOS is a complete web-based operating system. Files that you create or save persist across reloads. One app can have multiple windows, windows can be minimised, can be brought to the front, and the app itself can be quit (meaning all windows are closed). Windows can be fullscreened, minimised, or closed. Windows can be resized by holding and dragging the bottom right corner. The camera app stores files directly on the desktop, files can be renamed, named, created, deleted (sent to trash). All these operations can be performed via the file manager, RIGHT CLICK to see available options, the whole operating system uses a custom context menu! (when in doubt, right click ) AceEditor allows you to save files in different formats WITH syntax highlighting. Music OS has a collection consisting of 3 games, present on the Games folder on the Desktop. (MiniClip’s 8 Ball Pool, a Doom knockoff, and BlockWorlds)", "repo": "https://github.com/13513ji/Music-OS", "demo": "https://13513ji.github.io/Music-OS/"}, {"ship_num": 2, "ts": "2026-09-23T16:40:09Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my very first Web OS project . This is called Music OS simple and easy to use musician based theme , with really hard worked animation and theme. It has following features:- App minimising App fullscreen Camera App Calculator App Web Browser Settings App (customisable background) Multi-window support", "repo": "https://github.com/13513ji/Music-OS", "demo": "https://13513ji.github.io/Music-OS/"}]...
|
[{"post_id": 78962, "ts": "202 [{"post_id": 78962, "ts": "2026-10-12T06:26:55Z", "hours": 3.1667, "text": "Fixed the desktop, now the desktop layout is preserved throughout reloads and stuff. This was annoying me quite a bit so glad I was able to fix it"}, {"post_id": 78714, "ts": "2026-10-11T12:01:30Z", "hours": 5.8031, "text": "Added stuff:- 3 games, present on the Games folder on the Desktop. (MiniClip’s 8 Ball Pool, a Doom knockoff, and BlockWorlds) AceEditor allows you to save files in different formats WITH syntax highlighting Files that you create or save persist across reloads which can be added or deleted(in trash)"}, {"post_id": 78251, "ts": "2026-10-10T04:36:40Z", "hours": 10.6369, "text": "My Git hub repo account was lost , had work on the project again and code everything again🥀🥀"}, {"post_id": 76959, "ts": "2026-10-05T06:39:02Z", "hours": 2.8189, "text": "The files app is here :D managed to get desktop icon dragging working (turns out I had not imported the script <- wasted a lot of time debugging) now have Ace Editor"}, {"post_id": 74785, "ts": "2026-09-28T07:43:31Z", "hours": 1.2333, "text": "Going For Web OS 2✌️ Added the terminal app"}, {"post_id": 72723, "ts": "2026-09-23T16:23:08Z", "hours": 1.8842, "text": "All added features:- features:smooth window dragging window closing, minimising, fullscreen multiple windows of the same app app state management"}, {"post_id": 72668, "ts": "2026-09-23T13:48:09Z", "hours": 1.4978, "text": "Added Context menu and dock!!"}, {"post_id": 72633, "ts": "2026-09-23T12:04:17Z", "hours": 1.2322, "text": "Finished with the startup animation!!"}]...
|
Title: Music OS by @lantern | Stardance
Devlogs:
Title: Music OS by @lantern | Stardance
Devlogs:
Finished with the startup animation!!
Added Context menu and dock!!
All added features:- features:smooth window dragging window closing, minimising, fullscreen multiple windows of the same app app state management
Going For Web OS 2✌️ Added the terminal app
The files app is here :D managed to get desktop icon dragging working (turns out I had not imported the script <- wasted a lot of time debugging) now have Ace Editor
My Git hub repo account was lost , had work on the project again and code everything again🥀🥀
Added stuff:- 3 games, present on the Games folder on the Desktop. (MiniClip’s 8 Ball Pool, a Doom knockoff, and BlockWorlds) AceEditor allows you to save files in different formats WITH syntax highlighting Files that you create or save persist across reloads which can be added or deleted(in trash)
Fixed the desktop, now the desktop layout is preserved throughout reloads and stuff. This was annoying me quite a bit so glad I was able to fix it
Ships:
This is my very first Web OS project . This is called Music OS simple and easy to use musician based theme , with really hard worked animation and theme. It has following features:- App minimising App fullscreen Camera App Calculator App Web Browser Settings App (customisable background) Multi-window support
MusicOS is a complete web-based operating system. Files that you create or save persist across reloads. One app can have multiple windows, windows can be minimised, can be brought to the front, and the app itself can be quit (meaning all windows are closed). Windows can be fullscreened, minimised, or closed. Windows can be resized by holding and dragging the bottom right corner. The camera app stores files directly on the desktop, files can be renamed, named, created, deleted (sent to trash). All these operations can be performed via the file manager, RIGHT CLICK to see available options, the whole operating system uses a custom context menu! (when in doubt, right click ) AceEditor allows you to save files in different formats WITH syntax highlighting. Music OS has a collection consisting of 3 games, present on the Games folder on the Desktop. (MiniClip’s 8 Ball Pool, a Doom knockoff, and BlockWorlds)...
|
1792957997.4536116
|
1793821997.4536116
|
|
69281
|
Guide to Hack Club by @Angle_Mad | Stardance
|
Angle_Mad
|
0
|
0.43
|
0
|
[]
|
[{"post_id": 78958, "ts": "202 [{"post_id": 78958, "ts": "2026-10-12T05:56:42Z", "hours": 0.4336, "text": "Beginning the Basic Html and Tailwind CSS I started to work on the website to help guide beginners what Hack Club is about, and how it works. So far I just worked on basic html and I started messing around with tailwind, which with my very little experience already feels much easier to use than regular CSS. I started learning tailwind syntax and how it works with html. Doing that I made the website background, a pink color, give the header larger text, made the font bold, center the text, made it white and added a margin to the top."}]...
|
Title: Guide to Hack Club by @Angle_Mad | Stardanc Title: Guide to Hack Club by @Angle_Mad | Stardance
Devlogs:
Beginning the Basic Html and Tailwind CSS I started to work on the website to help guide beginners what Hack Club is about, and how it works. So far I just worked on basic html and I started messing around with tailwind, which with my very little experience already feels much easier to use than regular CSS. I started learning tailwind syntax and how it works with html. Doing that I made the website background, a pink color, give the header larger text, made the font bold, center the text, made it white and added a margin to the top....
|
1793130868.2174704
|
1793735668.2174704
|
|
69188
|
Pomodoro by @KevinW | Stardance
|
KevinW
|
1
|
13.0
|
28
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T06:01:42Z", "hours": 13.0, "multiplier": 4.2, "payout": 28, "blessing": "neutral", "text": "I made a Pomodoro timer inspired by the classic pomodoro techniques and the timeless addictive loops of idle games. I am very proud of sticking with my goal until the very end as it was an incredibly rewarding experience. However, I faced many challenged and I had to learn so much throughout this experience considering that I am new to software development. I used W3SCHOOLS to help me use key concepts that would help me make this webpage possible as well as youtube tutorials online giving me clear and simple explanations.", "repo": "https://github.com/wujunfan0/Pomodoro", "demo": "https://wujunfan0.github.io/Pomodoro/"}]...
|
[{"post_id": 78956, "ts": "202 [{"post_id": 78956, "ts": "2026-10-12T05:49:55Z", "hours": 6.4456, "text": "After countless of trials and errors in my latest development, I integrated many new features to the webpage. I had to learn a lot of JavaScript concepts I was unfamiliar with like duplicate declarations and global scope access but in the end I pushed through. I introduced a secret little bottom left prompt. When clicked, it brings you to a little cookie clicker game so you can slack off. Most of the other new things added were just minor improvements like adding an animated gradient background with flickering stars."}, {"post_id": 78895, "ts": "2026-10-11T22:34:45Z", "hours": 2.1142, "text": "I am currently testing out different algorithms and laying down the javascript logic for my project as I am rather new to javascript. I worked on creating functions, loops, and conditional statements to further enhance my webpage. Next session, I plan to implement and use this knowledge in my current webpage"}, {"post_id": 78856, "ts": "2026-10-11T19:47:49Z", "hours": 1.9936, "text": "I finally finished the CSS, in the middle of the project I encountered an error that stumped me for a long time, my entire webpage kept showing a blank white screen but in the end I was able to identify the problem and fix it. After adjusting some margins padding, I used complimentary to not overwhelm users, I also tried to be as minimal as possible."}, {"post_id": 78788, "ts": "2026-10-11T16:37:12Z", "hours": 1.145, "text": "After a bit of tweaking, I was able to complete the structure for my pomodoro webpage. I had to watch many tutorials and go through articles to figure out the right classes to use. I was able to correctly format the layout as well as making the buttons clickable. I kept forgetting to add closing tags which was frustrating because it messed up some of my code. Next, I plan on using CSS to polish this page to make it look neat and organized!"}, {"post_id": 78766, "ts": "2026-10-11T15:22:37Z", "hours": 1.6197, "text": "I practiced building the core structure of my pomodoro timer using HTML, I worked with standard layout tags like and also text inputs and buttons. I also created a separate file to practice and experiment with different tags and functions. Next, I want to build the real skeleton for my webpage."}]...
|
Title: Pomodoro by @KevinW | Stardance
Devlogs:
I Title: Pomodoro by @KevinW | Stardance
Devlogs:
I practiced building the core structure of my pomodoro timer using HTML, I worked with standard layout tags like and also text inputs and buttons. I also created a separate file to practice and experiment with different tags and functions. Next, I want to build the real skeleton for my webpage.
After a bit of tweaking, I was able to complete the structure for my pomodoro webpage. I had to watch many tutorials and go through articles to figure out the right classes to use. I was able to correctly format the layout as well as making the buttons clickable. I kept forgetting to add closing tags which was frustrating because it messed up some of my code. Next, I plan on using CSS to polish this page to make it look neat and organized!
I finally finished the CSS, in the middle of the project I encountered an error that stumped me for a long time, my entire webpage kept showing a blank white screen but in the end I was able to identify the problem and fix it. After adjusting some margins padding, I used complimentary to not overwhelm users, I also tried to be as minimal as possible.
I am currently testing out different algorithms and laying down the javascript logic for my project as I am rather new to javascript. I worked on creating functions, loops, and conditional statements to further enhance my webpage. Next session, I plan to implement and use this knowledge in my current webpage
After countless of trials and errors in my latest development, I integrated many new features to the webpage. I had to learn a lot of JavaScript concepts I was unfamiliar with like duplicate declarations and global scope access but in the end I pushed through. I introduced a secret little bottom left prompt. When clicked, it brings you to a little cookie clicker game so you can slack off. Most of the other new things added were just minor improvements like adding an animated gradient background with flickering stars.
Ships:
I made a Pomodoro timer inspired by the classic pomodoro techniques and the timeless addictive loops of idle games. I am very proud of sticking with my goal until the very end as it was an incredibly rewarding experience. However, I faced many challenged and I had to learn so much throughout this experience considering that I am new to software development. I used W3SCHOOLS to help me use key concepts that would help me make this webpage possible as well as youtube tutorials online giving me clear and simple explanations....
|
1793008390.874253
|
1793872390.874253
|
|
64361
|
WakeUpDudeItsSchoolTime by @Pixeleyesd | Stardance
|
Pixeleyesd
|
0
|
6.14
|
0
|
[]
|
[{"post_id": 78952, "ts": "202 [{"post_id": 78952, "ts": "2026-10-12T05:34:32Z", "hours": 2.6514, "text": "I finished up my firmware and README.md. BOM.csv is also finished up. :) When you first boot up, it first asks you for your time zone (you enter the value to add to gmt), then it asks whether daylight savings applies. These customisations are saved to the internal memory. The alarm clock will show time on the main screen. You can add alarms by going into the menu, or by pressing the alarm menu hotkey (SW5). Once power cycled, it will not keep the time, but uses WIFI to resync time using the internet."}, {"post_id": 72480, "ts": "2026-09-23T01:28:59Z", "hours": 2.1506, "text": "I finished my CAD model and I’m now going onto Firmware creation :)."}, {"post_id": 71983, "ts": "2026-09-21T21:58:39Z", "hours": 1.3336, "text": "I finished up my schematic and then finished up my pcb. I am now going to do some CAD :)."}]...
|
Title: WakeUpDudeItsSchoolTime by @Pixeleyesd | St Title: WakeUpDudeItsSchoolTime by @Pixeleyesd | Stardance
Devlogs:
I finished up my schematic and then finished up my pcb. I am now going to do some CAD :).
I finished my CAD model and I’m now going onto Firmware creation :).
I finished up my firmware and README.md. BOM.csv is also finished up. :) When you first boot up, it first asks you for your time zone (you enter the value to add to gmt), then it asks whether daylight savings applies. These customisations are saved to the internal memory. The alarm clock will show time on the main screen. You can add alarms by going into the menu, or by pressing the alarm menu hotkey (SW5). Once power cycled, it will not keep the time, but uses WIFI to resync time using the internet....
|
1793062373.2564173
|
1793926373.2564173
|
|
50711
|
Godot Platformer by @Ethen | Stardance
|
Ethen
|
0
|
67.99
|
0
|
[]
|
[{"post_id": 78947, "ts": "202 [{"post_id": 78947, "ts": "2026-10-12T04:04:22Z", "hours": 11.8467, "text": "Godot Platformer What I added: I added a light Occluder in the level costumes to add shadows to the game I made a button (not fully working) I made button art in affinity I added (almost done!) a 3rd level I added disappearing platforms with animations of fading I almost got teleport gates to work (but then I broke them DX) I made teleporter art in (again) affinity Added normal maps to the button and teleporters, to make them look cool Added more point ligh2ds to things like the button and teleport gates to make them shiny without the players point light2d node What the buttons are meant to do: The buttons are a toggle for the disappearing and appearing platforms, so when the player or the ball enters the buttons collision shape, the level will disappear, and it will appear when the object comes off. What the teleport gates are meant to do: When the player stands in one, and the ball stands in the other, they switch places. I got the player and ball to teleport to each other’s places, but that eventually lead to them just teleporting when only one was touching one of the teleporters."}, {"post_id": 76262, "ts": "2026-10-02T23:35:53Z", "hours": 7.535, "text": "Godot platformer Better art!!!!! What I did: Made golf ball art in affinity I added a normal map and lighting to make golf ball and the goal art look 3d-ish (with help from @Robodog81 ) I also updated a bit of the level art to look more realistic. What I’m wanting to do next: Add teleport gates, when the player stands on one, and the ball goes on one, the player and the ball swap places. Grass, I want to make this a shader so I can animate it to the player’s and ball’s movement. I’ve been learning a bit of shader code in Godot, but I still need more experience."}, {"post_id": 75426, "ts": "2026-09-30T02:01:54Z", "hours": 9.6878, "text": "Godot Platformer What I’ve done I made 2 more levels Fixed a really annoying bug Fully resets the player’s animations on reset Made the player and ball spawn in set places for each level Made better particles A level transition for switching levels What I’m planning on doing next is adding more levels, getting the transition more smooth, maybe adding teleport gates, and adding a menu :D (I’ll probably think of more things to add later)"}, {"post_id": 74221, "ts": "2026-09-26T23:18:49Z", "hours": 9.2856, "text": "Godot platformer What I’ve added: A cool background Better looking timer Timer can reset if you click ‘r’ after reaching goal (with some help) I’m also trying to get level changing working with a transition :D"}, {"post_id": 68486, "ts": "2026-09-15T06:37:59Z", "hours": 8.7456, "text": "Godot platformer I did quite a lot! (with quite a lot of help) What I added: Waterfalls (made with particles) Timer reset Ball reset Player idle and player jump animations A finish flag Particles for getting to the flag Made the level green Timer stops when you get to the flag"}, {"post_id": 61876, "ts": "2026-09-05T01:06:55Z", "hours": 7.4656, "text": "Godot platformer What I added: Added an on screen timer (Tutorial) Made it so the ball can respawn when fallen off (With help)"}, {"post_id": 57983, "ts": "2026-08-30T09:59:47Z", "hours": 3.4069, "text": "Godot platformer What I added/changed: Made better particles Added ball physics (with a bit of help from a tutorial to get good collisions) Made ‘r’ the restart button"}, {"post_id": 56904, "ts": "2026-08-28T22:24:25Z", "hours": 6.4389, "text": "Godot platformer What I added: A double jump indicator Cool music (from pixabay) Player and bg particles More level A pointer for the player"}, {"post_id": 54358, "ts": "2026-08-25T09:54:26Z", "hours": 3.1353, "text": "A Godot platformer! What I added/changed: I decided to make a shooter with a neon-glowy art style I redid the player and level art I added double jump I added smooth scrolling I added a smooth friction movement system I made it so you can fall off the map and get reset Made the player and level glow This is my first game in Godot, so most of the code I had to search up how to do from a video or a website, but the art is made by me"}, {"post_id": 49382, "ts": "2026-08-18T05:20:43Z", "hours": 0.4436, "text": "A Godot platformer Learning Godot Made art Added in basic character movement"}]...
|
Title: Godot Platformer by @Ethen | Stardance
Dev Title: Godot Platformer by @Ethen | Stardance
Devlogs:
A Godot platformer Learning Godot Made art Added in basic character movement
A Godot platformer! What I added/changed: I decided to make a shooter with a neon-glowy art style I redid the player and level art I added double jump I added smooth scrolling I added a smooth friction movement system I made it so you can fall off the map and get reset Made the player and level glow This is my first game in Godot, so most of the code I had to search up how to do from a video or a website, but the art is made by me
Godot platformer What I added: A double jump indicator Cool music (from pixabay) Player and bg particles More level A pointer for the player
Godot platformer What I added/changed: Made better particles Added ball physics (with a bit of help from a tutorial to get good collisions) Made ‘r’ the restart button
Godot platformer What I added: Added an on screen timer (Tutorial) Made it so the ball can respawn when fallen off (With help)
Godot platformer I did quite a lot! (with quite a lot of help) What I added: Waterfalls (made with particles) Timer reset Ball reset Player idle and player jump animations A finish flag Particles for getting to the flag Made the level green Timer stops when you get to the flag
Godot platformer What I’ve added: A cool background Better looking timer Timer can reset if you click ‘r’ after reaching goal (with some help) I’m also trying to get level changing working with a transition :D
Godot Platformer What I’ve done I made 2 more levels Fixed a really annoying bug Fully resets the player’s animations on reset Made the player and ball spawn in set places for each level Made better particles A level transition for switching levels What I’m planning on doing next is adding more levels, getting the transition more smooth, maybe adding teleport gates, and adding a menu :D (I’ll probably think of more things to add later)
Godot platformer Better art!!!!! What I did: Made golf ball art in affinity I added a normal map and lighting to make golf ball and the goal art look 3d-ish (with help from @Robodog81 ) I also updated a bit of the level art to look more realistic. What I’m wanting to do next: Add teleport gates, when the player stands on one, and the ball goes on one, the player and the ball swap places. Grass, I want to make this a shader so I can animate it to the player’s and ball’s movement. I’ve been learning a bit of shader code in Godot, but I still need more experience.
Godot Platformer What I added: I added a light Occluder in the level costumes to add shadows to the game I made a button (not fully working) I made button art in affinity I added (almost done!) a 3rd level I added disappearing platforms with animations of fading I almost got teleport gates to work (but then I broke them DX) I made teleporter art in (again) affinity Added normal maps to the button and teleporters, to make them look cool Added more point ligh2ds to things like the button and teleport gates to make them shiny without the players point light2d node What the buttons are meant to do: The buttons are a toggle for the disappearing and appearing platforms, so when the player or the ball enters the buttons collision shape, the level will disappear, and it will appear when the object comes off. What the teleport gates are meant to do: When the player stands in one, and the ball stands in the other, they switch places. I got the player and ball to teleport to each other’s places, but that eventually lead to them just teleporting when only one was touching one of the teleporters....
|
1792641152.5343616
|
1793245952.5343616
|
|
22382
|
The Art Archive by @danielSan | Stardance
|
danielSan
|
0
|
81.26
|
0
|
[]
|
[{"post_id": 78940, "ts": "202 [{"post_id": 78940, "ts": "2026-10-12T03:30:49Z", "hours": 10.2206, "text": "Hello fellow coders! Welcome to another devlog! It is now my time to share all the updates I have done to the app’s UI during this past week. Firstly, I started the development of the homeView, which looks really good so far! I have tried to keep the design familiar to what the infoView is like, so that it creates a sense of uniformity and familiarity to the user. Furthermore, I have also changed the tabView, so that, if you want to change between tabs, you can now simply slide between views, with no visible tab, so that you can use as much of the screen as possible. There are some things at which I am working on at the moment, but that I would like to finally share once they are refined and tested. Thanks for everything and see you really soon dear coders!"}, {"post_id": 76058, "ts": "2026-10-02T06:51:02Z", "hours": 10.0589, "text": "Hello dear coders! Welcome to another devlog! Just like I promised on last devlog, I have been profoundly working on the design itself of the app, since the database is now done, and I would like to show you some incredible changes we have done to make the experience as satisfying yet easy as possible. Firstly, you can now notice that we are using two main colors, instead of 1, extracted from the main artwork as both background and font colors, which make the view feel more “alive”. Also, I have now added both the name of the artwork and author on the “archive view”, which I hope you guys find more useful to identify artwork. Moreover, the most exciting feature for me to develop at the moment has been a proper landscape view, at which I have eliminated unnecessary elements (like title of the view or that long search bar) and substituted them for some more friendly alternatives, so that users can enjoy on this format without any big distractions. Furthermore, now the information view of each artwork includes a link to the web page of the museum where the data has been collected. That’s it for now! Thank you so much for everything, and see you really soon for more updates on the development of this app."}, {"post_id": 74223, "ts": "2026-09-26T23:33:32Z", "hours": 9.7308, "text": "Hello fellow coders to another devlog of my app! First of all, I am really excited for the announcement of the extension on stardande! It will allow me to be able to finish the app correctly without the need of rushing. Also, I would expect more devlogs as the date gets closer, as I am gonna try to focus harder on this project on the next few weeks. And even though there is not much to share (yet), I wanted to share some big news: The database is finally done!!! (yay). There will be a total of 400 selected artworks from all sorts of cultures available with their respective photo (at least on this basic version). And if you are wondering the reason why I am making my on database instead of just using an API, it’s for both ensuring a better look and simplicity + being able to access the app without the need of an internet connection. Even though I can not share any other news (yet), I would suggest staying tuned, as there are still many things to be unveiled about the app. See you soon!"}, {"post_id": 68466, "ts": "2026-09-15T04:52:10Z", "hours": 9.9583, "text": "Hello everyone! Welcome to another devlog about my app called “The Art Archive”. Firstly, I know I said the design of the menu of the Archive was already finished, but I felt like the old design wasn’t good enough, and I updated it to adapt to the size of the picture of the artwork. Sadly, that is all I can show at the moment, since I am currently working on polishing both the information view and the database, plus starting to design the home view. I will give you some updates really soon! See you all really soon!"}, {"post_id": 55650, "ts": "2026-08-27T16:39:51Z", "hours": 9.8736, "text": "Welcome to another devlog about my app called “The Art Archive”! Today I wanted to give some updates on what I have been working on for the past few weeks. Firstly, I have started developing a new screen at which you will be able to find all the information available about that artwork. And, even through there is still a long way to go on the development of the view, I would say that at the moment it is looking promising. Also, I have changed the artworks background colors and made them dynamic, so that they match the main color of it. Furthermore, I have also made some changes to the database, and I am expecting to finish it really soon, so that I can finally spend all my time developing and polishing the app’s design. And that is all the news I can share at the moment. I will see you all on the next devlog! Have a great day!"}, {"post_id": 39651, "ts": "2026-08-02T19:34:57Z", "hours": 10.3158, "text": "Hello! Welcome back to another devlog. Today I’m here to talk about some improvements that have been made onto the app UI, like a proper adaptation to the new header introduced in iOS 27, plus further improvements on the hierarchy of the cards typography. Moreover, there have been some minor changes made to the database of the art gallery with the addition of new artworks to it. In future updates, I am looking for making further improvements on the archive view before starting to develop the mainView and its system, plus adding some extra artworks onto the database. Hope you guys like how the app is looking so far! See you in the next devlog!"}, {"post_id": 27807, "ts": "2026-07-13T18:02:30Z", "hours": 9.9914, "text": "Hello Everyone! I wanted to give you some updates on my current project. Lately I have been updating the database and including some artworks from the Greek and British culture that I have found quite interesting. I have also started to plan the look of the UI, but I have not started developing it yet, since I would prefer to finish the database of the app before doing further changes to the UI. I will update the development of the app very soon with further changes at another devlog!"}, {"post_id": 22433, "ts": "2026-07-04T22:01:07Z", "hours": 11.1153, "text": "Hello everyone! Welcome to my first devlog ever about this new project I am currently developing during my free time, and which has been mainly driven by my love for art. Now, I would like to show you what I have been working on for the past week. Firstly, I have created a really basic interface (which will be updated later) and divided the app into two tabs: one tab called “home”, which has not been developed yet but it is planned to show 1 random artwork per day, and another one called “archive”, where all of the artworks are stored and can be accessed at any minute. Right now I am currently developing the database for the app, and obtaining all the necessary data from the MET museum. I am looking forward to sharing further progress in future devlogs!"}]...
|
Title: The Art Archive by @danielSan | Stardance
Title: The Art Archive by @danielSan | Stardance
Devlogs:
Hello everyone! Welcome to my first devlog ever about this new project I am currently developing during my free time, and which has been mainly driven by my love for art. Now, I would like to show you what I have been working on for the past week. Firstly, I have created a really basic interface (which will be updated later) and divided the app into two tabs: one tab called “home”, which has not been developed yet but it is planned to show 1 random artwork per day, and another one called “archive”, where all of the artworks are stored and can be accessed at any minute. Right now I am currently developing the database for the app, and obtaining all the necessary data from the MET museum. I am looking forward to sharing further progress in future devlogs!
Hello Everyone! I wanted to give you some updates on my current project. Lately I have been updating the database and including some artworks from the Greek and British culture that I have found quite interesting. I have also started to plan the look of the UI, but I have not started developing it yet, since I would prefer to finish the database of the app before doing further changes to the UI. I will update the development of the app very soon with further changes at another devlog!
Hello! Welcome back to another devlog. Today I’m here to talk about some improvements that have been made onto the app UI, like a proper adaptation to the new header introduced in iOS 27, plus further improvements on the hierarchy of the cards typography. Moreover, there have been some minor changes made to the database of the art gallery with the addition of new artworks to it. In future updates, I am looking for making further improvements on the archive view before starting to develop the mainView and its system, plus adding some extra artworks onto the database. Hope you guys like how the app is looking so far! See you in the next devlog!
Welcome to another devlog about my app called “The Art Archive”! Today I wanted to give some updates on what I have been working on for the past few weeks. Firstly, I have started developing a new screen at which you will be able to find all the information available about that artwork. And, even through there is still a long way to go on the development of the view, I would say that at the moment it is looking promising. Also, I have changed the artworks background colors and made them dynamic, so that they match the main color of it. Furthermore, I have also made some changes to the database, and I am expecting to finish it really soon, so that I can finally spend all my time developing and polishing the app’s design. And that is all the news I can share at the moment. I will see you all on the next devlog! Have a great day!
Hello everyone! Welcome to another devlog about my app called “The Art Archive”. Firstly, I know I said the design of the menu of the Archive was already finished, but I felt like the old design wasn’t good enough, and I updated it to adapt to the size of the picture of the artwork. Sadly, that is all I can show at the moment, since I am currently working on polishing both the information view and the database, plus starting to design the home view. I will give you some updates really soon! See you all really soon!
Hello fellow coders to another devlog of my app! First of all, I am really excited for the announcement of the extension on stardande! It will allow me to be able to finish the app correctly without the need of rushing. Also, I would expect more devlogs as the date gets closer, as I am gonna try to focus harder on this project on the next few weeks. And even though there is not much to share (yet), I wanted to share some big news: The database is finally done!!! (yay). There will be a total of 400 selected artworks from all sorts of cultures available with their respective photo (at least on this basic version). And if you are wondering the reason why I am making my on database instead of just using an API, it’s for both ensuring a better look and simplicity + being able to access the app without the need of an internet connection. Even though I can not share any other news (yet), I would suggest staying tuned, as there are still many things to be unveiled about the app. See you soon!
Hello dear coders! Welcome to another devlog! Just like I promised on last devlog, I have been profoundly working on the design itself of the app, since the database is now done, and I would like to show you some incredible changes we have done to make the experience as satisfying yet easy as possible. Firstly, you can now notice that we are using two main colors, instead of 1, extracted from the main artwork as both background and font colors, which make the view feel more “alive”. Also, I have now added both the name of the artwork and author on the “archive view”, which I hope you guys find more useful to identify artwork. Moreover, the most exciting feature for me to develop at the moment has been a proper landscape view, at which I have eliminated unnecessary elements (like title of the view or that long search bar) and substituted them for some more friendly alternatives, so that users can enjoy on this format without any big distractions. Furthermore, now the information view of each artwork includes a link to the web page of the museum where the data has been collected. That’s it for now! Thank you so much for everything, and see you really soon for more updates on the development of this app.
Hello fellow coders! Welcome to another devlog! It is now my time to share all the updates I have done to the app’s UI during this past week. Firstly, I started the development of the homeView, which looks really good so far! I have tried to keep the design familiar to what the infoView is like, so that it creates a sense of uniformity and familiarity to the user. Furthermore, I have also changed the tabView, so that, if you want to change between tabs, you can now simply slide between views, with no visible tab, so that you can use as much of the screen as possible. There are some things at which I am working on at the moment, but that I would like to finally share once they are refined and tested. Thanks for everything and see you really soon dear coders!...
|
1792774506.7667646
|
1793379306.7667646
|
|
9801
|
eggooo by @matikda | Stardance
|
matikda
|
0
|
21.01
|
0
|
[]
|
[{"post_id": 7894, "ts": "2026 [{"post_id": 7894, "ts": "2026-06-13T05:21:10Z", "hours": 6.6747, "text": "I added the shop menu. I was confused why the hover and click functions were not working, but I realized that the text was completely covering the actuall button. That was a pretty easy fix. I used arrays with all the sprites, so I can iterate over all the buttons at once, which made my code much easier to follow. I might go back and add arrays to more parts, but it will not be as neat as this was. Lastly, I use graphics to create my text, so it is easily manipulatable, but it is making the game crash, so I will ned to go in and use real text next. Not looking forward to that."}, {"post_id": 5440, "ts": "2026-06-09T06:39:30Z", "hours": 4.6447, "text": "I finished the settings page sans a small volume bug. It now has the ability to skip and replay songs, turn music on and off, adjust the volume, and open an info page. I had a lot of trouble getting the text to update, as graphic updates are banned to prevent crashing. I just made a function to create brand new graphics as needed. I also added a favicon. I am realizing that I have barely touched the actual game part, though… next time."}, {"post_id": 5170, "ts": "2026-06-08T21:04:41Z", "hours": 2.6842, "text": "I added a settings menu with some text and buttons. I took a call for an hour and I then spent ~2 hours wondering why all my text suddenly wasn’t aligned. I finally realized that I had zoomed in to 110% and the code was fine🤦. Massive waste of time haha! I’m a bit worried that this could cause an issue on devices that have varying pixel densities but I am not going to worry about that for now."}, {"post_id": 4743, "ts": "2026-06-08T06:08:53Z", "hours": 7.0036, "text": "I am making a clicker game called eggooo! (I just realized I like the lowercase E better…). Today I worked on getting the starting screen working. I wanted the buttons to go down slightly when pressed to match the animation, but I had a lot of trouble, as I also had it dip when the mouse was hovering. When the mouse hovered above the dip but below the up limit, the button would freak out and rapidly switch between up and down. It looked like it was having a seizure. I fixed it by lowering just the image, not the hitbox, although now the hitbox is a bit off when the button is being hovered over. Oh well."}]...
|
Title: eggooo by @matikda | Stardance
Devlogs:
I Title: eggooo by @matikda | Stardance
Devlogs:
I am making a clicker game called eggooo! (I just realized I like the lowercase E better…). Today I worked on getting the starting screen working. I wanted the buttons to go down slightly when pressed to match the animation, but I had a lot of trouble, as I also had it dip when the mouse was hovering. When the mouse hovered above the dip but below the up limit, the button would freak out and rapidly switch between up and down. It looked like it was having a seizure. I fixed it by lowering just the image, not the hitbox, although now the hitbox is a bit off when the button is being hovered over. Oh well.
I added a settings menu with some text and buttons. I took a call for an hour and I then spent ~2 hours wondering why all my text suddenly wasn’t aligned. I finally realized that I had zoomed in to 110% and the code was fine🤦. Massive waste of time haha! I’m a bit worried that this could cause an issue on devices that have varying pixel densities but I am not going to worry about that for now.
I finished the settings page sans a small volume bug. It now has the ability to skip and replay songs, turn music on and off, adjust the volume, and open an info page. I had a lot of trouble getting the text to update, as graphic updates are banned to prevent crashing. I just made a function to create brand new graphics as needed. I also added a favicon. I am realizing that I have barely touched the actual game part, though… next time.
I added the shop menu. I was confused why the hover and click functions were not working, but I realized that the text was completely covering the actuall button. That was a pretty easy fix. I used arrays with all the sprites, so I can iterate over all the buttons at once, which made my code much easier to follow. I might go back and add arrays to more parts, but it will not be as neat as this was. Lastly, I use graphics to create my text, so it is easily manipulatable, but it is making the game crash, so I will ned to go in and use real text next. Not looking forward to that....
|
1792641082.5304234
|
1793245882.5304234
|
|
69243
|
Hackpad by @pavithra_venkatesh | Stardance
|
pavithra_venkatesh
|
0
|
1.52
|
0
|
[]
|
[{"post_id": 78936, "ts": "202 [{"post_id": 78936, "ts": "2026-10-12T02:58:44Z", "hours": 1.5167, "text": "Hackpad - Made PCB and case with guide"}]...
|
Title: Hackpad by @pavithra_venkatesh | Stardance
Title: Hackpad by @pavithra_venkatesh | Stardance
Devlogs:
Hackpad - Made PCB and case with guide...
|
1793130807.474399
|
1793735607.474399
|
|
37389
|
Bio-Flow by @IvyMycelia | Stardance
|
IvyMycelia
|
0
|
21.18
|
0
|
[]
|
[{"post_id": 78932, "ts": "202 [{"post_id": 78932, "ts": "2026-10-12T02:39:38Z", "hours": 17.0697, "text": "What Happened? Been a while, hasn’t it? Anyways, some background context I feel is worth mentioning: BioFlow was created for a research project of mine. Not for anything less specific, not to be used as a universal tool — though that’d be nice! When I first made it, I realized pretty quickly that.. I’m not actually accomplishing anything for my research goal, but rather just trying to remake your generic Python Bioinformatics pipeline, which of course was not what I should focus on. As such, you’ll notice the project in its entirety has been changed to reflect this. The actual Changes There’s a LOT of changes, obviously. It’s around 10 hours worth of direct coding work (not counting all of the time spent doing research, gathering data, making decisions and creating formulas, etc.), and — as per usual — I didn’t break it up into multiple devlogs. Instead, I locked in for 4 days, and now we have: A computational analysis pipeline written mainly in Flower, which reads species metadata and protein annotations from TSV files, validates them, and exports candidate-family counts and normalized features. I used a C bridge for file access and numerical parsing. Five initial candidate categories, specifically laccase-associated proteins, manganese peroxidase, lignin peroxidase, versatile peroxidase, and cytochrome P450 candidates. Deduplication and conflict handling allows repeated hits and multiple annotation sources to not inflate the number of proteins counted, and proteins with competing family assignments are recorded as conflicting and excluded from the family counts. Proteome-size normalization, where candidate counts are expressed per 1,000 predicted proteins, whilst preserving the raw counts. Missing, zero, or inconsistent denominators produce (clearly marked!) missing values. So yea, that’s what’s been happening. Eventually I’ll link the paper to this somehow, and of course keep the analysis pipeline open source completely for reproducible results and independent verification! Thanks for reading, much love <3"}, {"post_id": 34947, "ts": "2026-07-26T02:04:35Z", "hours": 4.1069, "text": "Devlog: Documentation and v0.1.0 Date: 2026-07-22 Instead of jumping right into code — like I normally do — I decided to instead write documentation on how the project would be handled from a development standpoint. This included deciding on things such as Semantic Versioning, Conventional Commits, short-lived branches, and squash merges. None of it was particularly original, but the point was to remove any ambiguity regarding the actual developm from the actual work. I no longer need to wonder whether a feature belongs directly on main , what a release branch will be named, or whether generated binaries should be comitted. I also decided that CHANGELOG.md would remain at the root similar to the README , and other policy documents / actual project-facing documentation would live under docs/ . The first code The original CLI I wrote walked over every argument and then tried to interpret options and commands inside that very same loop. This causes conflicts and issues, especially relating to reading a filepath that might not exist in argv . I replaced it with the rule that one invocation has one command, and everything after it belongs to that command. The accepted shape thus is now: bioflo <command> [arguments] Commands may officially be written with zero, one, or two leading dashes — though any amount of dashes is current accepted. Dash removal is bounded rather than handled by an open-ended pointer loop, so inputs such as - and -- cannot be walked beyond the end of the string. Testing this produced a strange error where for whatever reason my system got stuck on a kernel write request, which froze all other kernel requests and muddied any other programs from running in my terminal. I restarted my computer and that was that. Really annoying because for like 20 minutes I thought the issue was me . It was not. Sequence decisions The first actual library module handles basic DNA sequences. Currently, a valid sequence can contain A , C , G , T , and N . I chose to accept N because unknown bases are common in real sequence data — from personal experience. Lowercase input is rejected rather than normalized implicitly purely just because I haven’t gotten to it yet. Empty strings are invalid sequences, but I did make it so that GC content for an empty string returns 0.0 to avoid division by zero. GC content is returned as a fraction between 0.0 and 1.0 , not as a percentage. This is to keep the value reusable rather than prioritize presentability. I deliberately kept the public API small for now as to avoid overextending the first release: is_valid_dna count_nucleotide gc_count gc_content The base-checking helper I have kept private. This is my first attempt at treating prop as an explicit public-facing endpoint rather than using it for everything. What v0.1.0 means Version 0.1.0 is by no means a feature-complete release (obviously). It’s my first steps at not only making a specific library for bioinformatics, but also testing Flower’s ability to even create usable libraries. The CLI still does not read files, FASTA parsing does not yet exist, and case normalization / additional ambiguity codes are also deferred. In the coming planned work, I intend for Bio-Flow to reach a somewhat usable state in the hopes of utilizing it for some of my own personal projects :)"}]...
|
Title: Bio-Flow by @IvyMycelia | Stardance
Devlog Title: Bio-Flow by @IvyMycelia | Stardance
Devlogs:
Devlog: Documentation and v0.1.0 Date: 2026-07-22 Instead of jumping right into code — like I normally do — I decided to instead write documentation on how the project would be handled from a development standpoint. This included deciding on things such as Semantic Versioning, Conventional Commits, short-lived branches, and squash merges. None of it was particularly original, but the point was to remove any ambiguity regarding the actual developm from the actual work. I no longer need to wonder whether a feature belongs directly on main , what a release branch will be named, or whether generated binaries should be comitted. I also decided that CHANGELOG.md would remain at the root similar to the README , and other policy documents / actual project-facing documentation would live under docs/ . The first code The original CLI I wrote walked over every argument and then tried to interpret options and commands inside that very same loop. This causes conflicts and issues, especially relating to reading a filepath that might not exist in argv . I replaced it with the rule that one invocation has one command, and everything after it belongs to that command. The accepted shape thus is now: bioflo <command> [arguments] Commands may officially be written with zero, one, or two leading dashes — though any amount of dashes is current accepted. Dash removal is bounded rather than handled by an open-ended pointer loop, so inputs such as - and -- cannot be walked beyond the end of the string. Testing this produced a strange error where for whatever reason my system got stuck on a kernel write request, which froze all other kernel requests and muddied any other programs from running in my terminal. I restarted my computer and that was that. Really annoying because for like 20 minutes I thought the issue was me . It was not. Sequence decisions The first actual library module handles basic DNA sequences. Currently, a valid sequence can contain A , C , G , T , and N . I chose to accept N because unknown bases are common in real sequence data — from personal experience. Lowercase input is rejected rather than normalized implicitly purely just because I haven’t gotten to it yet. Empty strings are invalid sequences, but I did make it so that GC content for an empty string returns 0.0 to avoid division by zero. GC content is returned as a fraction between 0.0 and 1.0 , not as a percentage. This is to keep the value reusable rather than prioritize presentability. I deliberately kept the public API small for now as to avoid overextending the first release: is_valid_dna count_nucleotide gc_count gc_content The base-checking helper I have kept private. This is my first attempt at treating prop as an explicit public-facing endpoint rather than using it for everything. What v0.1.0 means Version 0.1.0 is by no means a feature-complete release (obviously). It’s my first steps at not only making a specific library for bioinformatics, but also testing Flower’s ability to even create usable libraries. The CLI still does not read files, FASTA parsing does not yet exist, and case normalization / additional ambiguity codes are also deferred. In the coming planned work, I intend for Bio-Flow to reach a somewhat usable state in the hopes of utilizing it for some of my own personal projects :)
What Happened? Been a while, hasn’t it? Anyways, some background context I feel is worth mentioning: BioFlow was created for a research project of mine. Not for anything less specific, not to be used as a universal tool — though that’d be nice! When I first made it, I realized pretty quickly that.. I’m not actually accomplishing anything for my research goal, but rather just trying to remake your generic Python Bioinformatics pipeline, which of course was not what I should focus on. As such, you’ll notice the project in its entirety has been changed to reflect this. The actual Changes There’s a LOT of changes, obviously. It’s around 10 hours worth of direct coding work (not counting all of the time spent doing research, gathering data, making decisions and creating formulas, etc.), and — as per usual — I didn’t break it up into multiple devlogs. Instead, I locked in for 4 days, and now we have: A computational analysis pipeline written mainly in Flower, which reads species metadata and protein annotations from TSV files, validates them, and exports candidate-family counts and normalized features. I used a C bridge for file access and numerical parsing. Five initial candidate categories, specifically laccase-associated proteins, manganese peroxidase, lignin peroxidase, versatile peroxidase, and cytochrome P450 candidates. Deduplication and conflict handling allows repeated hits and multiple annotation sources to not inflate the number of proteins counted, and proteins with competing family assignments are recorded as conflicting and excluded from the family counts. Proteome-size normalization, where candidate counts are expressed per 1,000 predicted proteins, whilst preserving the raw counts. Missing, zero, or inconsistent denominators produce (clearly marked!) missing values. So yea, that’s what’s been happening. Eventually I’ll link the paper to this somehow, and of course keep the analysis pipeline open source completely for reproducible results and independent verification! Thanks for reading, much love <3...
|
1793246163.98654
|
1793850963.98654
|
|
35278
|
Chess Bot by @akshayK | Stardance
|
akshayK
|
1
|
26.0
|
192
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T02:24:30Z", "hours": 26.0, "multiplier": 7.28, "payout": 192, "blessing": "neutral", "text": "This is a browser based chess engine, where you can play against a bot that I made. You can play with both the white and the black pieces. One challenge that was hard to fix was making the chessboard appear. I spend well over 2 hours trying to make it appear, and I finally got it to work because my CDN was not properly configured, and the one I downloaded was not the right version. I am proud of actually getting the chess bot to work, let alone making it to the point where it can actually beat me, and other bots on chess.com. You can play against this by going to the releases page and downloading the zip file. The index.html file houses the webpage where you can play against the chess bot. Good luck on beating my chess bot! (and don’t use stockfish :) )", "repo": "https://github.com/AkshayK-960/chessbot/", "demo": "https://chessbot-pi.vercel.app/"}]...
|
[{"post_id": 78925, "ts": "202 [{"post_id": 78925, "ts": "2026-10-12T02:05:25Z", "hours": 1.7031, "text": "Devlog #8 I finally implemented playing both white and black for the chess bot! So, I think it is pretty much done. I also updated the README.md on Github so it aligns more with what actual readme files look like, and i polished some code so it is easier to tweak in case anyone wanted to do that. (everything is in script.js) Overall, I think this was a really fun journey and I definitely learned a lot about javascript, and about creating something efficient and fast. So, that’s pretty much it, you can play the bot on github, and I published a release for the chess bot. Have fun!"}, {"post_id": 73826, "ts": "2026-09-26T03:25:31Z", "hours": 1.2069, "text": "Devlog 7 I am finishing up the HTML layout and the content for my project, and I just now realized that the chessbot is broken again ;( So for the weekend, my first task will be to fix that (probably by getting the code from previous versions of the chess bot) and maybe some finshing touches on the CSS. I still haven’t writtin the README file yet. I will get to it soon. By the time I’m posting this, there are about 5 days until the deadline, so that would probably be one of the final things to add. PS: if you are close to done with your project, this is your reminder to lock in and ship the project, good luck :) Also the image is the website not working 😢"}, {"post_id": 66852, "ts": "2026-09-12T19:36:32Z", "hours": 1.5772, "text": "DEVLOG 6 I changed the CSS around a little bit, because it looked basic. Now, the website has a paper theme, so it looks easier on the eyes. I really like this theme because it looks polished (the chess board isn’t working in the picture, i’m working on fixing it.) The analysis link now works, and by clicking it, it redirects you to a lichess analysis board of the current game. The page looks plain, so if there is something I should add, you can tell me below. the only things I really need to add now is an option to play with the black pieces AND maybe add more in the “how it works’ section."}, {"post_id": 63645, "ts": "2026-09-07T15:51:35Z", "hours": 5.2158, "text": "Devlog 5 I finished implementing a new bitboard engine, since the old chess.js library was really slow, and it froze the screen. ALSO, the github link was not displaying the chessboard, and i spent well over 2 hours trying to debug this. But in the end, the chess bot would not work correctly if the board appears in the github website. So, for now, if you want to test the chess bot, you can click releases in the github and download & run the HTML file. I plan to let the player play the black side too, instead of only white. (I will update the github repo soon so there is an option to download) P.S. You can change the background image in the code, and I might make an option to change the image in the website soon)"}, {"post_id": 46658, "ts": "2026-08-14T02:43:57Z", "hours": 6.5964, "text": "Devlog #4 It’s been a while, but I’ve finally (mostly) finished with coding the chess bot. I might go back to it soon, but I want to focus more on the visuals, so I made a simple UI based on the chess.com/lichess layout. I also made it so you can customize the background by entering the image URL. I also implemented an evaluation engine (with a low depth) for a numerical value of the position on board. I wanted a higher evaluation depth, but it lags whenever it calculates the score. So, it should be either depth 2 or 3, even if the actual bot is thinking deeper. If you have any suggestions, you can comment them, and I will try to add them."}, {"post_id": 42290, "ts": "2026-08-06T22:35:01Z", "hours": 3.2325, "text": "Devlog 3: By now, I’ve realized that the github pages doesn’t work. :( But, I’m trying to fix it as of now. (You can download the github project and it works that way though) As for the actual game, I have improved it so that instead of a set depth, it searches for the best move for a set amount of time, and if there is still time left over from the search, it increases its depth by 1, and searches one more move deep. It normally searches 3-5 moves deep on my PC and ~3 moves on my chromebook. I tested it against the chess.com bots, and it beats the beginner and intermediate bots pretty consistently. I also played it against Wendy bot (1500 elo) and it won! (I did not expect it to win) Here’s the game, if anyone wants to analyze it themselves: [Event “Play vs Bot”] [Site “Chess.com”] [Date “2026.08.06”] [Round “-”] [White “Wendy-BOT”] [Black “Chess-Bot(Stardance)”] [Result “0-1”] [CurrentPosition “5k2/pp4R1/6P1/3pB3/4b2P/7K/1P4q1/8 w - - 11 52”] [Timezone “UTC”] [ECO “C61”] [ECOUrl “https://www.chess.com/openings/Ruy-Lopez-Opening-Birds-Defense-4.Nxd4-exd4-5.O-O”] [UTCDate “2026.08.06”] [UTCTime “21:56:10”] [WhiteElo “1500”] [BlackElo “172”] [TimeControl “?”] [Termination “Akshay Kommoju won by checkmate”] [StartTime “21:56:10”] [EndDate “2026.08.06”] [EndTime “22:16:01”] [Link “https://www.chess.com/analysis/game/computer/1894651872/review?move=27”] [WhiteUrl “https://images.chesscomfiles.com/uploads/v1/user/66746050.adfcf725.50x50o.d52666e0e879.png”] [WhiteCountry “3”] [WhiteTitle “”] [BlackUrl “https://www.chess.com/bundles/web/images/noavatar_l.84a92436.gif”] [BlackCountry “69”] [BlackTitle “”] e4 e5 2. Nf3 Nc6 3. Bb5 Nd4 4. Nxd4 exd4 5. O-O Qg5 6. Bd3 Nf6 7. f4 Qh4 8. e5 Nd5 9. Qf3 Nb6 10. c3 dxc3 11. Nxc3 Bc5+ 12. Kh1 O-O 13. Ne4 Bd4 14. g3 Qe7 15. Ng5 h6 16. Qe4 f5 17. Qxd4 hxg5 18. fxg5 c5 19. Qf4 Nd5 20. Bc4 Qe6 21. Bxd5 Qxd5+ 22. Rf3 Re8 23. d4 cxd4 24. Qxf5 d6 25. e6 Bxe6 26. Qd3 Bg4 27. Kg2 Bxf3+ 28. Kf2 Bh1 29. Qb3 Qxb3 30. axb3 d5 31. Bf4 Be4 32. Rd1 d3 33. h4 Re6 34. Rc1 Rb6 35. Ke3 Rxb3 36. Be5 Rf8 37. Rc7 Rf3+ 38. Kd2 Rf2+ 39. Ke1 d2+ 40. Kxf2 d1=Q 41. Rxg7+ Kf8 42. g6 Rf3+ 43. Kg2 Rf4+ 44. Kh3 Qf1+ 45. Kh2 Rxh4+ 46. gxh4 Qh1+ 47. Kg3 Qf3+ 48. Kh2 Qh1+ 49. Kg3 Qf3+ 50. Kh2 Qf2+ 51. Kh3 Qg2# 0-1"}, {"post_id": 36613, "ts": "2026-07-28T20:41:36Z", "hours": 4.7978, "text": "I finally coding a basic bot that plays against you. This plays legal moves, and has a move depth of 3. I implemented minimax and piece square tables, so it would play better moves quickly. There is also an option to export the game as a pgn or fen, so you can evaluate the chess bot as well as your accuracy. currently, even with move depth 3, it is slow, especially when there are a lot of moves it has to sort through, and I want to make it so the algorithm works faster, even on lower end devices. Also, the algorithm is pretty bad, (it got about 75% accuracy on chess.com analysis) so I also plan on improving it in the future."}, {"post_id": 28656, "ts": "2026-07-15T01:20:40Z", "hours": 2.0831, "text": "Devlog #1 My first goal in building a chess bot is to code the board and defining the rules. I used chessboard.js to make the board, and I will later implement rules, so both sides can only play legal moves, and also castling, en passant, etc."}]...
|
Title: Chess Bot by @akshayK | Stardance
Devlogs: Title: Chess Bot by @akshayK | Stardance
Devlogs:
Devlog #1 My first goal in building a chess bot is to code the board and defining the rules. I used chessboard.js to make the board, and I will later implement rules, so both sides can only play legal moves, and also castling, en passant, etc.
I finally coding a basic bot that plays against you. This plays legal moves, and has a move depth of 3. I implemented minimax and piece square tables, so it would play better moves quickly. There is also an option to export the game as a pgn or fen, so you can evaluate the chess bot as well as your accuracy. currently, even with move depth 3, it is slow, especially when there are a lot of moves it has to sort through, and I want to make it so the algorithm works faster, even on lower end devices. Also, the algorithm is pretty bad, (it got about 75% accuracy on chess.com analysis) so I also plan on improving it in the future.
Devlog 3: By now, I’ve realized that the github pages doesn’t work. :( But, I’m trying to fix it as of now. (You can download the github project and it works that way though) As for the actual game, I have improved it so that instead of a set depth, it searches for the best move for a set amount of time, and if there is still time left over from the search, it increases its depth by 1, and searches one more move deep. It normally searches 3-5 moves deep on my PC and ~3 moves on my chromebook. I tested it against the chess.com bots, and it beats the beginner and intermediate bots pretty consistently. I also played it against Wendy bot (1500 elo) and it won! (I did not expect it to win) Here’s the game, if anyone wants to analyze it themselves: [Event “Play vs Bot”] [Site “Chess.com”] [Date “2026.08.06”] [Round “-”] [White “Wendy-BOT”] [Black “Chess-Bot(Stardance)”] [Result “0-1”] [CurrentPosition “5k2/pp4R1/6P1/3pB3/4b2P/7K/1P4q1/8 w - - 11 52”] [Timezone “UTC”] [ECO “C61”] [ECOUrl “https://www.chess.com/openings/Ruy-Lopez-Opening-Birds-Defense-4.Nxd4-exd4-5.O-O”] [UTCDate “2026.08.06”] [UTCTime “21:56:10”] [WhiteElo “1500”] [BlackElo “172”] [TimeControl “?”] [Termination “Akshay Kommoju won by checkmate”] [StartTime “21:56:10”] [EndDate “2026.08.06”] [EndTime “22:16:01”] [Link “https://www.chess.com/analysis/game/computer/1894651872/review?move=27”] [WhiteUrl “https://images.chesscomfiles.com/uploads/v1/user/66746050.adfcf725.50x50o.d52666e0e879.png”] [WhiteCountry “3”] [WhiteTitle “”] [BlackUrl “https://www.chess.com/bundles/web/images/noavatar_l.84a92436.gif”] [BlackCountry “69”] [BlackTitle “”] e4 e5 2. Nf3 Nc6 3. Bb5 Nd4 4. Nxd4 exd4 5. O-O Qg5 6. Bd3 Nf6 7. f4 Qh4 8. e5 Nd5 9. Qf3 Nb6 10. c3 dxc3 11. Nxc3 Bc5+ 12. Kh1 O-O 13. Ne4 Bd4 14. g3 Qe7 15. Ng5 h6 16. Qe4 f5 17. Qxd4 hxg5 18. fxg5 c5 19. Qf4 Nd5 20. Bc4 Qe6 21. Bxd5 Qxd5+ 22. Rf3 Re8 23. d4 cxd4 24. Qxf5 d6 25. e6 Bxe6 26. Qd3 Bg4 27. Kg2 Bxf3+ 28. Kf2 Bh1 29. Qb3 Qxb3 30. axb3 d5 31. Bf4 Be4 32. Rd1 d3 33. h4 Re6 34. Rc1 Rb6 35. Ke3 Rxb3 36. Be5 Rf8 37. Rc7 Rf3+ 38. Kd2 Rf2+ 39. Ke1 d2+ 40. Kxf2 d1=Q 41. Rxg7+ Kf8 42. g6 Rf3+ 43. Kg2 Rf4+ 44. Kh3 Qf1+ 45. Kh2 Rxh4+ 46. gxh4 Qh1+ 47. Kg3 Qf3+ 48. Kh2 Qh1+ 49. Kg3 Qf3+ 50. Kh2 Qf2+ 51. Kh3 Qg2# 0-1
Devlog #4 It’s been a while, but I’ve finally (mostly) finished with coding the chess bot. I might go back to it soon, but I want to focus more on the visuals, so I made a simple UI based on the chess.com/lichess layout. I also made it so you can customize the background by entering the image URL. I also implemented an evaluation engine (with a low depth) for a numerical value of the position on board. I wanted a higher evaluation depth, but it lags whenever it calculates the score. So, it should be either depth 2 or 3, even if the actual bot is thinking deeper. If you have any suggestions, you can comment them, and I will try to add them.
Devlog 5 I finished implementing a new bitboard engine, since the old chess.js library was really slow, and it froze the screen. ALSO, the github link was not displaying the chessboard, and i spent well over 2 hours trying to debug this. But in the end, the chess bot would not work correctly if the board appears in the github website. So, for now, if you want to test the chess bot, you can click releases in the github and download & run the HTML file. I plan to let the player play the black side too, instead of only white. (I will update the github repo soon so there is an option to download) P.S. You can change the background image in the code, and I might make an option to change the image in the website soon)
DEVLOG 6 I changed the CSS around a little bit, because it looked basic. Now, the website has a paper theme, so it looks easier on the eyes. I really like this theme because it looks polished (the chess board isn’t working in the picture, i’m working on fixing it.) The analysis link now works, and by clicking it, it redirects you to a lichess analysis board of the current game. The page looks plain, so if there is something I should add, you can tell me below. the only things I really need to add now is an option to play with the black pieces AND maybe add more in the “how it works’ section.
Devlog 7 I am finishing up the HTML layout and the content for my project, and I just now realized that the chessbot is broken again ;( So for the weekend, my first task will be to fix that (probably by getting the code from previous versions of the chess bot) and maybe some finshing touches on the CSS. I still haven’t writtin the README file yet. I will get to it soon. By the time I’m posting this, there are about 5 days until the deadline, so that would probably be one of the final things to add. PS: if you are close to done with your project, this is your reminder to lock in and ship the project, good luck :) Also the image is the website not working 😢
Devlog #8 I finally implemented playing both white and black for the chess bot! So, I think it is pretty much done. I also updated the README.md on Github so it aligns more with what actual readme files look like, and i polished some code so it is easier to tweak in case anyone wanted to do that. (everything is in script.js) Overall, I think this was a really fun journey and I definitely learned a lot about javascript, and about creating something efficient and fast. So, that’s pretty much it, you can play the bot on github, and I published a release for the chess bot. Have fun!
Ships:
This is a browser based chess engine, where you can play against a bot that I made. You can play with both the white and the black pieces. One challenge that was hard to fix was making the chessboard appear. I spend well over 2 hours trying to make it appear, and I finally got it to work because my CDN was not properly configured, and the one I downloaded was not the right version. I am proud of actually getting the chess bot to work, let alone making it to the point where it can actually beat me, and other bots on chess.com. You can play against this by going to the releases page and downloading the zip file. The index.html file houses the webpage where you can play against the chess bot. Good luck on beating my chess bot! (and don’t use stockfish :) )...
|
1793144920.993376
|
1793231320.993376
|
|
69063
|
CyberDeck by @Grant19 | Stardance
|
Grant19
|
0
|
1.38
|
0
|
[]
|
[{"post_id": 78922, "ts": "202 [{"post_id": 78922, "ts": "2026-10-12T01:53:57Z", "hours": 0.5167, "text": "Lots of modeling, and planning, still looking for feedback, ideas welcome. This is what im thinking Right now"}, {"post_id": 78506, "ts": "2026-10-11T00:51:43Z", "hours": 0.8667, "text": "Started my Cyberdeck! Did part of the 3d model, if anyone has ideas for software for it or ideas message feel free to comment (I also planned and brainstormed, it didnt take me an hour to model just that)"}]...
|
Title: CyberDeck by @Grant19 | Stardance
Devlogs: Title: CyberDeck by @Grant19 | Stardance
Devlogs:
Started my Cyberdeck! Did part of the 3d model, if anyone has ideas for software for it or ideas message feel free to comment (I also planned and brainstormed, it didnt take me an hour to model just that)
Lots of modeling, and planning, still looking for feedback, ideas welcome. This is what im thinking Right now...
|
1793130500.8118684
|
1793735300.8118684
|
|
63142
|
P1ˣᵖ by @starvulkan | Stardance
|
starvulkan
|
1
|
42.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T02:08:50Z", "hours": 42.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "P1xp!", "repo": "https://github.com/starvulkan/P1xp", "demo": "https://github.com/starvulkan/P1xp/releases/latest"}]...
|
[{"post_id": 78921, "ts": "202 [{"post_id": 78921, "ts": "2026-10-12T01:53:55Z", "hours": 3.1594, "text": "vroom vroom, Devlog 15: STARVULKAN WINS THE MENTAL SANITY GRAND PRIX ! guysss FINALLYY, after weeks and weeks of slowly decaying into insanity, i’ve FINALLYY finished this very cool and amazing project!! im so happy with how things came along at the end, and I hope y’all can enjoy this silly little F1 project! testing during the race went as smooth the smooth operator 55 himself before 2026, with basically one lone issue, that being the app struggling to refresh the race weekend post race (throughout the whole developing process my biggest enemy was that ending transition huh). that’s now fixed, it now uses storage to know if to refresh. wrote the whole readme today as well, by far the most effort i’ve ever made for a readme, but i had to cuz this project means quite a lot to me. and as a final feature, cuz if i didnt i would get exterminated from this planet by the copyright agents, i added the possibility for you to choose your track images for the hero! since i had to delete the hero images that came bundled before cuz copyright and redistribution and stuff, the app, by default, now comes with no hero image, just a silly gradient. you, the user, now have the power of choosing the circuit hero image, bring your own from whatever source! details on how to do this in the readme! and yea! like that, i’m finally shipping this project of mine! thanks to y’all that have followed the whole development process and my (alleged) suffering and gave your amazing support! it truly means a lot to me 💖."}, {"post_id": 78530, "ts": "2026-10-11T03:31:16Z", "hours": 2.2725, "text": "vroom vroom, Devlog 14: WE’RE NEARLY THEREEE!! im sooo closee to finishing this projectt! im actually soo happy with how things are coming along! although working on this messed up my sleep schedule very badly its really all been worth it. singapore quali testing went better than i expected, with the issues really just being the join live button hiding behind the hero cuz i forgot how to do basic css and the session end and live mode exit feeling very jarring as it ended immediately when the session ended, which combined with the F1 TV broadcast being off by aprox. 30 seconds, made the transition feel off. both of these have been fixed (more info below)! once again, im too tired to write another explanation for all the changes and updates i did, so its time to let github release notes me speak lol updates and changes in this build (tag 1.0.0-beta) 1. After a session ends, the app no longer leaves live mode immediately, rather it freezes final data (after 5 mins of wait to ensure all data is final) and waits until the user manually clicks exit live. this is to avoid the transition from live mode back to countdown from being very jarring, especially considering that F1 TV stream is delayed by a varying number of seconds. 2. added car status badges in the tower (these indicate if a car/driver is out, retired, in pit, or eliminated, and greys them out accordingly)! 3. animations in the tower! these indicate when a driver changes positions (either by overtaking/getting overtaken in race/sprint, or setting faster laps in practice/qualis). by obvious reasons, these project better in live mode than in demo mode (the whole thing is sped up x3, its an animation party lol). also didnt mention this in github but i added an about button in the app so its easier to find the build version yes you heard that right, this aint a DEV build, im confident enough in this build to finally upgrade the app to beta! if everything goes well tomorrow during the race, im finally releasing v1 and shipping this project! and if you ask why i just tested with quali and not with the sprint as i promised, eeeeh i may or may not have completely missed my alarm and slept through the sprint… DONT BLAME ME IM TIRED AF"}, {"post_id": 78212, "ts": "2026-10-09T23:53:23Z", "hours": 3.3825, "text": "vroom vroom, Devlog 13: post-singapore sprint quali testing! basically every feature worked during this test, but at the end of SQ2 the app decided to kill my hopes and dreams by exiting live mode mid-session, but i think ive found the fix (hopefully). once again, since ive not slept for over 30 hours atp, i am too tired to rewrite a new explanation for all the changes i did during this time period, so imma think smarter, not harder by recycling my very good and thorough explanation i used for the github release notes lol these are the changes and updates in this new build (DEV_0.3.0): 1. Instead of using an automatic switcher (which proved to give lots of errors) to switch between live mode and countdown, now you can enter/exit live mode through a button (when there’s an ongoing live session). 2. lap counter for races & sprints (only available in live mode). 3. Track map and live mode changes & updates (using MultiView’s API): better circuit outlines and color change for better visibility, track map broadcast orientation, numbered corners, sector flag zones, and pit loss with safety car and VSC figures. and yea, that’s that! now imma go get some real good sleep before waking up at 3 am AGAIN to test with the sprint race why do i do this to myself"}, {"post_id": 78051, "ts": "2026-10-09T11:51:21Z", "hours": 1.5442, "text": "vroom vroom, Devlog 12: post-singapore fp1 testing! WOW THE THING THAT DOES THE LIVE THING WORKS (kinda ig but YAYY nonetheless i wont have to experience more unnecessary mental decay !! ) had to fix a few things, some are bigger issues than others but i think i have permanent solutions for those (hopefully)! as described in the new github repo pre-release (tag DEV_0.2.0), main changes include: updates to the track map (had rendering issues and is incapable of projecting driver position dots without a F1 TV subscription token, so it’s stuck as a simple track map for now, I might add the option to connect to your F1 TV subscription in a future update). driver acronym fix (due to update overwrite blanking the driver acronyms were turning into their number fallbacks mid-session). proper session ending (now you should NOT have to wait an eternity for the app to leave live mode after a session ends, i hope!). i really didnt feel like writing another explanation for that lol ive barely slept tonight and sprint quali is in about 40 mins, so yea no more sleeping for me yayyy endme . so yea, its time for testing round 2! lets see how that goes."}, {"post_id": 78005, "ts": "2026-10-09T04:49:58Z", "hours": 1.4967, "text": "vroom vroom, Devlog 11.5: get lance strolled so major oversight, two issues that i completely forgot to fix before packaging came to my mind again. specifically: 1. the app was incapable of entering live mode on a fresh install during race weekend, cuz the cache was never created. 2. in case of a delay, cuz the live mode timer follows the predicted end time, the app would exit live mode before the session itself actually finished. these two are now fixed. now, the schedule comes bundled with the build, and proper processing in case of delay was added, only downside is that the app will take long to exit live mode, as it will stay waiting for signals after a session finishes, as this is the sacrifice to avoid, yk, leaving the whole session while its going on! installers for this build (DEV_0.1.1) are also now available in the repo. we will be back in 3 hours…"}, {"post_id": 77601, "ts": "2026-10-07T16:22:54Z", "hours": 0.8322, "text": "vroom vroom, Devlog 11: short n’ sweet short work session today i added an offline fallback to the drivers list in setup, as that was the only openf1-dependent item that still didnt have a fallback. it is also capable of self-updating. most importantly tho, i packaged the app itself! runners and installers are now available in the github repo (pre-release tag DEV_0.1.0), so feel free to try them out and to help out identifying bugs during the live testing this week in singapore! available for windows, macOS, and linux!"}, {"post_id": 77377, "ts": "2026-10-06T18:19:27Z", "hours": 1.1767, "text": "vroom vroom, Devlog 10.5: debugging dewormers this is a short one, just added a few visual debuggers in live stream mode in case of unexpected inchidents during live testing. i really dont have a good image for this devlog, so take the countdown to the day in which the f1 gods will decide to either keep me alive or to kill me."}, {"post_id": 77214, "ts": "2026-10-06T03:39:52Z", "hours": 5.4253, "text": "vroom vroom, Devlog 10: ITS LIGHTS OUT AND AWAY WE GO (untested) pt.2 yes im very creative with my devlog names and like in pt.1, ive just finished my longest work session EVER. but the process sure makes it worth it. first and foremost, the electron stuff is ready, so P1xp is now capable of invading your desktop! isnt that so cool? the new live session data fetcher is now ready to be tested! its, in short, a signalR core client in the electron main process that connects straight to f1’s own live timing feed, which is hosted in their servers. unlike openf1, this one is free and requires no account to access live data. due to f1’s feed being completely different from openf1’s as it sends partial deltas (so one driver and one field at a time), a naive merge wipes data it didnt mention. so, ive created a new converter that keeps a cache per driver and always emits complete rows, so the timing tower, track map, radio, and race control panes all project live data without a single change to any of them directly. in demo mode, the circuit outline for the track map comes from replaying a lap of position data. when live, theres no history. instead, the app accumulates each car’s trail as it goes and draws the whole circuit in roughly the first minute of running. IN THEORY (again), this should be a definite, fully functional build of P1xp. like before, i still need to test it live, so this week’s singapore gp will be my new test dummy. i created a recorder in the client thats capable of dumping every raw frame f1 sends to a file, plus a tool that reads a recording back and summarises what arrived. this allows me to have a recorded copy of singapore fp1 i can use as a permanent test fixture in case something doesnt work as intended during live testing. i really hope this works, im slowly going insane…"}, {"post_id": 76878, "ts": "2026-10-04T22:16:21Z", "hours": 4.5525, "text": "vroom vroom, Devlog 9: WE’RE BACK TO RACING!! so since i’ve only been able to work in short bursts of time over the past few days, progress had been very slow and not very devlog worthy, until today! i’ve been working on getting the most important OpenF1-dependent items to work offline, so in case of request blocks, they can still work just fine. this includes mainly the season calendar and the demo. the calendar now gets cached in storage for offline access. it is also able to update its contents by fetching from OpenF1 when possible, which helps make it proof to unexpected race calendar changes. for the demo, i created a .MJS file to create a .JSON file that saves the data from silverstone 2025 used in the demo. this allows the demo to always run offline and separate from openf1, instead of fetching data every time its used. this also allows the demo to run waaay faster than before, and makes it always available, even when openf1 blocks access to historical data when a live session is active. as a bonus, i also fixed the timing tower to actually differentiate between a race and practices/qualis, so for the latter it orders positions by best lap and show gaps to pole instead of race intervals, which are used for just the race itself. next up, i need to prepare the electron scaffolding for the app, as in order to fetch live data from F1 directly i need it to run as a desktop app. F1’s server doesnt send CORS headers, so browsers refuse to read it, but CORS is a browser rule, and electron’s main process is just node, so this allows a desktop app to connect where a webpage cant. and i need this to actually get the live session feed working, cuz as i said before… you mean i cant see LIVE data in the f1 LIVE experience app?! what kind of scam is this?!?!"}, {"post_id": 74717, "ts": "2026-09-28T02:04:18Z", "hours": 2.0064, "text": "vroom vroom, Devlog 8: HOW CAN YOU BE SO USELESS MAN?!?! pt.2 im backk! well technically ive been working a bit this whole time ive just not devlogged yet, so its time to report what has happened in the past few days! so as i mentioned last time, i tried to test with baku fp3, quali, and race, but my plan got cut short right in fp3. sooo due to my bad habit of not investigating deeply and not reading details, i didnt realize that OpenF1 doesnt give out LIVE session data to non-authorized users just historical data, which means there’s a paywall, stardance’s biggest enemy … soo effectively the project became useless in its current state. to add insult to injury, OpenF1 blocks all non-authorized requests to their servers when there’s a live session going on, so the whole app stops working when a live session begins lol you mean i cant see LIVE data in the f1 LIVE experience app?! what kind of scam is this?!?! if i had just investigated a bit further i would have found out that F1 themselves give out live session data for free. thing is, i can’t fetch this through web, so i will have to lock the app to desktop upon release. as for what ive actually done until now, i created a .json that saves the 2026 & 2027 calendars locally so it can fallback to that version when OpenF1 locks their servers and the home menu stops fetching data from them directly. this .json will also be capable of updating its contents when its fetching live from OpenF1, so in case of small inchidents (ahem war) that cause a race to be cancelled or changed of location (i sure love the bahrain gp in malaysia), the local calendar.json can update."}, {"post_id": 73429, "ts": "2026-09-25T02:20:58Z", "hours": 4.8192, "text": "vroom vroom, Devlog 7: ITS LIGHTS OUT AND AWAY WE GO (untested) FINALLYYY, after my longest work session ever, I got the live f1 session stream working*, with all the features i previously mentioned (time and position tower with wheel stats, race control, track map, team radios, and allocated space for F1 TV live stream if you are a subscriber)! *: the live stream was tested using past race data from silverstone 2025 (you can demo test the stream with the same data using the Demo option). It fetches the most eventful 10 minutes from this race, and plays them at 3x speed, so you can test most of the live stream features in less than 6 minutes! I still have to test the live stream with actual live session data from OpenF1, so i’ll use baku FP3, quali, and race to do this. You can join the testing and try P1xp out for the first time too, as all these changes are now public in the github pages deployment! If everything goes well during live testing, this version will be shipped! We’re so closeee!"}, {"post_id": 72533, "ts": "2026-09-23T04:47:23Z", "hours": 3.7092, "text": "vroom vroom, Devlog 6: less is more not a lot of visible progress today, but certainly a bunch of invisible developments! so most of the backend javascript scripts for the livestream session components (time and position tower, session data logger, track map) were programmed today. The possibility for a livestream demo was also added, to make it possible to test the livestream display screen even when a live f1 session isn’t going on at that time. This demo uses Silverstone 2025 for its race data, as it was quite a interesting and complete race with most of the data points that can be demoed and displayed by P1xp. tomorrow, i’ll edit and prepare the main 3 files (index.html, style.css, main.js) to use these scripts so these features can be deployed. i mean, its like the main selling point it would be outrageous if they weren’t available by the time baku fp1 starts, right? …right?"}, {"post_id": 72093, "ts": "2026-09-22T04:47:14Z", "hours": 1.0178, "text": "vroom vroom, Devlog 5: IMAGESSS!! so although once again my schedule really limited what i was able to do today, i was able to keep my promise and now there’s track display images in the countdown! woww so cool! added images for the tracks in the 2026 & 2027 calendars."}, {"post_id": 71589, "ts": "2026-09-21T03:28:01Z", "hours": 1.7422, "text": "vroom vroom: Devlog 4: hi starvulkan, my name is progress! i finally locked in and finished the stylesheet from its incomplete state, which means we have the first functioning deploy up now! tomorrow’s mission is to get good-looking track images for the big blank space on top of the countdown. i mean, its screaming to put an image on it!"}, {"post_id": 70956, "ts": "2026-09-20T03:08:22Z", "hours": 1.9233, "text": "vroom vroom, Devlog 3: wow… its… incomplete?!? yeaaa so due to my very fun schedule i didnt finish what i had intended to do today… i did finish index.html and the main JS script, so 2/3 ig! i really could only start the css stylesheet due to time, so im hopefully finishing that tomorrow, as well as actually testing if what i already did um… works. if everything goes well, the first actual deployed build should be up by tomorrow, so lets hope for the best! no updates to the github repo today, i want to finish these 3 fully first before committing and pushing."}, {"post_id": 70417, "ts": "2026-09-19T04:39:41Z", "hours": 1.2761, "text": "vroom vroom, Devlog 2: how can you be so useless man?! yeaa so my school made my free time vanish by adding so much stuff to do out of the blue, so yeaa kinda didnt do much today lol most importantly, the JavaScript base for the first time setup got done today, so thats something i guess… if my schedule allows it tomorrow i should start working on, yk, the actual main stuff (index.html, main.js, and style.css stuff). also i need to fix the currently broken deploy, as i have not updated the main files from their original vite templates state."}, {"post_id": 69961, "ts": "2026-09-18T04:04:00Z", "hours": 1.3525, "text": "vroom vroom, Devlog 1: the fun stuff so the idea for P1xp is to provide an unique way to experience F1, right from your pc. using data from openF1, it can show data like track info, current session positions, conditions, etc. If you are an F1 TV user (you’ll be able to determine all this through first time settings), you’ll get an allocated space in the app to place your F1 TV window to watch both the live stream and the session data simultaneously. if you are a F1 TV Premium user, you’ll also get a double allocated space to place the onboard cam for your favorite driver (also chosen through first time settings, this will matter for theming!). and speaking of theming, the app will offer multiple app themes and skins based on your favorite team chosen! today i did the vite scaffolding and the other fun environment setups and configs, and i programmed the JS controllers and bones for the team themes and the session schedules. it got too late to keep working on the rest, and i have homeworks to do soooo… i’ll work on the main functionality stuff tomorrow once im recharged lol. i need to get this app working before next thursday cuz the last F1 race weekend before Stardance ends is next week (welcome to skibidi toilet baku my dudesss 🔥🔥🔥) and after that its gonna be basically impossible to test the app. so yea i have a week to finish this! time to speedrunnnn"}]...
|
Title: P1ˣᵖ by @starvulkan | Stardance
Devlogs:
v Title: P1ˣᵖ by @starvulkan | Stardance
Devlogs:
vroom vroom, Devlog 1: the fun stuff so the idea for P1xp is to provide an unique way to experience F1, right from your pc. using data from openF1, it can show data like track info, current session positions, conditions, etc. If you are an F1 TV user (you’ll be able to determine all this through first time settings), you’ll get an allocated space in the app to place your F1 TV window to watch both the live stream and the session data simultaneously. if you are a F1 TV Premium user, you’ll also get a double allocated space to place the onboard cam for your favorite driver (also chosen through first time settings, this will matter for theming!). and speaking of theming, the app will offer multiple app themes and skins based on your favorite team chosen! today i did the vite scaffolding and the other fun environment setups and configs, and i programmed the JS controllers and bones for the team themes and the session schedules. it got too late to keep working on the rest, and i have homeworks to do soooo… i’ll work on the main functionality stuff tomorrow once im recharged lol. i need to get this app working before next thursday cuz the last F1 race weekend before Stardance ends is next week (welcome to skibidi toilet baku my dudesss 🔥🔥🔥) and after that its gonna be basically impossible to test the app. so yea i have a week to finish this! time to speedrunnnn
vroom vroom, Devlog 2: how can you be so useless man?! yeaa so my school made my free time vanish by adding so much stuff to do out of the blue, so yeaa kinda didnt do much today lol most importantly, the JavaScript base for the first time setup got done today, so thats something i guess… if my schedule allows it tomorrow i should start working on, yk, the actual main stuff (index.html, main.js, and style.css stuff). also i need to fix the currently broken deploy, as i have not updated the main files from their original vite templates state.
vroom vroom, Devlog 3: wow… its… incomplete?!? yeaaa so due to my very fun schedule i didnt finish what i had intended to do today… i did finish index.html and the main JS script, so 2/3 ig! i really could only start the css stylesheet due to time, so im hopefully finishing that tomorrow, as well as actually testing if what i already did um… works. if everything goes well, the first actual deployed build should be up by tomorrow, so lets hope for the best! no updates to the github repo today, i want to finish these 3 fully first before committing and pushing.
vroom vroom: Devlog 4: hi starvulkan, my name is progress! i finally locked in and finished the stylesheet from its incomplete state, which means we have the first functioning deploy up now! tomorrow’s mission is to get good-looking track images for the big blank space on top of the countdown. i mean, its screaming to put an image on it!
vroom vroom, Devlog 5: IMAGESSS!! so although once again my schedule really limited what i was able to do today, i was able to keep my promise and now there’s track display images in the countdown! woww so cool! added images for the tracks in the 2026 & 2027 calendars.
vroom vroom, Devlog 6: less is more not a lot of visible progress today, but certainly a bunch of invisible developments! so most of the backend javascript scripts for the livestream session components (time and position tower, session data logger, track map) were programmed today. The possibility for a livestream demo was also added, to make it possible to test the livestream display screen even when a live f1 session isn’t going on at that time. This demo uses Silverstone 2025 for its race data, as it was quite a interesting and complete race with most of the data points that can be demoed and displayed by P1xp. tomorrow, i’ll edit and prepare the main 3 files (index.html, style.css, main.js) to use these scripts so these features can be deployed. i mean, its like the main selling point it would be outrageous if they weren’t available by the time baku fp1 starts, right? …right?
vroom vroom, Devlog 7: ITS LIGHTS OUT AND AWAY WE GO (untested) FINALLYYY, after my longest work session ever, I got the live f1 session stream working*, with all the features i previously mentioned (time and position tower with wheel stats, race control, track map, team radios, and allocated space for F1 TV live stream if you are a subscriber)! *: the live stream was tested using past race data from silverstone 2025 (you can demo test the stream with the same data using the Demo option). It fetches the most eventful 10 minutes from this race, and plays them at 3x speed, so you can test most of the live stream features in less than 6 minutes! I still have to test the live stream with actual live session data from OpenF1, so i’ll use baku FP3, quali, and race to do this. You can join the testing and try P1xp out for the first time too, as all these changes are now public in the github pages deployment! If everything goes well during live testing, this version will be shipped! We’re so closeee!
vroom vroom, Devlog 8: HOW CAN YOU BE SO USELESS MAN?!?! pt.2 im backk! well technically ive been working a bit this whole time ive just not devlogged yet, so its time to report what has happened in the past few days! so as i mentioned last time, i tried to test with baku fp3, quali, and race, but my plan got cut short right in fp3. sooo due to my bad habit of not investigating deeply and not reading details, i didnt realize that OpenF1 doesnt give out LIVE session data to non-authorized users just historical data, which means there’s a paywall, stardance’s biggest enemy … soo effectively the project became useless in its current state. to add insult to injury, OpenF1 blocks all non-authorized requests to their servers when there’s a live session going on, so the whole app stops working when a live session begins lol you mean i cant see LIVE data in the f1 LIVE experience app?! what kind of scam is this?!?! if i had just investigated a bit further i would have found out that F1 themselves give out live session data for free. thing is, i can’t fetch this through web, so i will have to lock the app to desktop upon release. as for what ive actually done until now, i created a .json that saves the 2026 & 2027 calendars locally so it can fallback to that version when OpenF1 locks their servers and the home menu stops fetching data from them directly. this .json will also be capable of updating its contents when its fetching live from OpenF1, so in case of small inchidents (ahem war) that cause a race to be cancelled or changed of location (i sure love the bahrain gp in malaysia), the local calendar.json can update.
vroom vroom, Devlog 9: WE’RE BACK TO RACING!! so since i’ve only been able to work in short bursts of time over the past few days, progress had been very slow and not very devlog worthy, until today! i’ve been working on getting the most important OpenF1-dependent items to work offline, so in case of request blocks, they can still work just fine. this includes mainly the season calendar and the demo. the calendar now gets cached in storage for offline access. it is also able to update its contents by fetching from OpenF1 when possible, which helps make it proof to unexpected race calendar changes. for the demo, i created a .MJS file to create a .JSON file that saves the data from silverstone 2025 used in the demo. this allows the demo to always run offline and separate from openf1, instead of fetching data every time its used. this also allows the demo to run waaay faster than before, and makes it always available, even when openf1 blocks access to historical data when a live session is active. as a bonus, i also fixed the timing tower to actually differentiate between a race and practices/qualis, so for the latter it orders positions by best lap and show gaps to pole instead of race intervals, which are used for just the race itself. next up, i need to prepare the electron scaffolding for the app, as in order to fetch live data from F1 directly i need it to run as a desktop app. F1’s server doesnt send CORS headers, so browsers refuse to read it, but CORS is a browser rule, and electron’s main process is just node, so this allows a desktop app to connect where a webpage cant. and i need this to actually get the live session feed working, cuz as i said before… you mean i cant see LIVE data in the f1 LIVE experience app?! what kind of scam is this?!?!
vroom vroom, Devlog 10: ITS LIGHTS OUT AND AWAY WE GO (untested) pt.2 yes im very creative with my devlog names and like in pt.1, ive just finished my longest work session EVER. but the process sure makes it worth it. first and foremost, the electron stuff is ready, so P1xp is now capable of invading your desktop! isnt that so cool? the new live session data fetcher is now ready to be tested! its, in short, a signalR core client in the electron main process that connects straight to f1’s own live timing feed, which is hosted in their servers. unlike openf1, this one is free and requires no account to access live data. due to f1’s feed being completely different from openf1’s as it sends partial deltas (so one driver and one field at a time), a naive merge wipes data it didnt mention. so, ive created a new converter that keeps a cache per driver and always emits complete rows, so the timing tower, track map, radio, and race control panes all project live data without a single change to any of them directly. in demo mode, the circuit outline for the track map comes from replaying a lap of position data. when live, theres no history. instead, the app accumulates each car’s trail as it goes and draws the whole circuit in roughly the first minute of running. IN THEORY (again), this should be a definite, fully functional build of P1xp. like before, i still need to test it live, so this week’s singapore gp will be my new test dummy. i created a recorder in the client thats capable of dumping every raw frame f1 sends to a file, plus a tool that reads a recording back and summarises what arrived. this allows me to have a recorded copy of singapore fp1 i can use as a permanent test fixture in case something doesnt work as intended during live testing. i really hope this works, im slowly going insane…
vroom vroom, Devlog 10.5: debugging dewormers this is a short one, just added a few visual debuggers in live stream mode in case of unexpected inchidents during live testing. i really dont have a good image for this devlog, so take the countdown to the day in which the f1 gods will decide to either keep me alive or to kill me.
vroom vroom, Devlog 11: short n’ sweet short work session today i added an offline fallback to the drivers list in setup, as that was the only openf1-dependent item that still didnt have a fallback. it is also capable of self-updating. most importantly tho, i packaged the app itself! runners and installers are now available in the github repo (pre-release tag DEV_0.1.0), so feel free to try them out and to help out identifying bugs during the live testing this week in singapore! available for windows, macOS, and linux!
vroom vroom, Devlog 11.5: get lance strolled so major oversight, two issues that i completely forgot to fix before packaging came to my mind again. specifically: 1. the app was incapable of entering live mode on a fresh install during race weekend, cuz the cache was never created. 2. in case of a delay, cuz the live mode timer follows the predicted end time, the app would exit live mode before the session itself actually finished. these two are now fixed. now, the schedule comes bundled with the build, and proper processing in case of delay was added, only downside is that the app will take long to exit live mode, as it will stay waiting for signals after a session finishes, as this is the sacrifice to avoid, yk, leaving the whole session while its going on! installers for this build (DEV_0.1.1) are also now available in the repo. we will be back in 3 hours…
vroom vroom, Devlog 12: post-singapore fp1 testing! WOW THE THING THAT DOES THE LIVE THING WORKS (kinda ig but YAYY nonetheless i wont have to experience more unnecessary mental decay !! ) had to fix a few things, some are bigger issues than others but i think i have permanent solutions for those (hopefully)! as described in the new github repo pre-release (tag DEV_0.2.0), main changes include: updates to the track map (had rendering issues and is incapable of projecting driver position dots without a F1 TV subscription token, so it’s stuck as a simple track map for now, I might add the option to connect to your F1 TV subscription in a future update). driver acronym fix (due to update overwrite blanking the driver acronyms were turning into their number fallbacks mid-session). proper session ending (now you should NOT have to wait an eternity for the app to leave live mode after a session ends, i hope!). i really didnt feel like writing another explanation for that lol ive barely slept tonight and sprint quali is in about 40 mins, so yea no more sleeping for me yayyy endme . so yea, its time for testing round 2! lets see how that goes.
vroom vroom, Devlog 13: post-singapore sprint quali testing! basically every feature worked during this test, but at the end of SQ2 the app decided to kill my hopes and dreams by exiting live mode mid-session, but i think ive found the fix (hopefully). once again, since ive not slept for over 30 hours atp, i am too tired to rewrite a new explanation for all the changes i did during this time period, so imma think smarter, not harder by recycling my very good and thorough explanation i used for the github release notes lol these are the changes and updates in this new build (DEV_0.3.0): 1. Instead of using an automatic switcher (which proved to give lots of errors) to switch between live mode and countdown, now you can enter/exit live mode through a button (when there’s an ongoing live session). 2. lap counter for races & sprints (only available in live mode). 3. Track map and live mode changes & updates (using MultiView’s API): better circuit outlines and color change for better visibility, track map broadcast orientation, numbered corners, sector flag zones, and pit loss with safety car and VSC figures. and yea, that’s that! now imma go get some real good sleep before waking up at 3 am AGAIN to test with the sprint race why do i do this to myself
vroom vroom, Devlog 14: WE’RE NEARLY THEREEE!! im sooo closee to finishing this projectt! im actually soo happy with how things are coming along! although working on this messed up my sleep schedule very badly its really all been worth it. singapore quali testing went better than i expected, with the issues really just being the join live button hiding behind the hero cuz i forgot how to do basic css and the session end and live mode exit feeling very jarring as it ended immediately when the session ended, which combined with the F1 TV broadcast being off by aprox. 30 seconds, made the transition feel off. both of these have been fixed (more info below)! once again, im too tired to write another explanation for all the changes and updates i did, so its time to let github release notes me speak lol updates and changes in this build (tag 1.0.0-beta) 1. After a session ends, the app no longer leaves live mode immediately, rather it freezes final data (after 5 mins of wait to ensure all data is final) and waits until the user manually clicks exit live. this is to avoid the transition from live mode back to countdown from being very jarring, especially considering that F1 TV stream is delayed by a varying number of seconds. 2. added car status badges in the tower (these indicate if a car/driver is out, retired, in pit, or eliminated, and greys them out accordingly)! 3. animations in the tower! these indicate when a driver changes positions (either by overtaking/getting overtaken in race/sprint, or setting faster laps in practice/qualis). by obvious reasons, these project better in live mode than in demo mode (the whole thing is sped up x3, its an animation party lol). also didnt mention this in github but i added an about button in the app so its easier to find the build version yes you heard that right, this aint a DEV build, im confident enough in this build to finally upgrade the app to beta! if everything goes well tomorrow during the race, im finally releasing v1 and shipping this project! and if you ask why i just tested with quali and not with the sprint as i promised, eeeeh i may or may not have completely missed my alarm and slept through the sprint… DONT BLAME ME IM TIRED AF
vroom vroom, Devlog 15: STARVULKAN WINS THE MENTAL SANITY GRAND PRIX ! guysss FINALLYY, after weeks and weeks of slowly decaying into insanity, i’ve FINALLYY finished this very cool and amazing project!! im so happy with how things came along at the end, and I hope y’all can enjoy this silly little F1 project! testing during the race went as smooth the smooth operator 55 himself before 2026, with basically one lone issue, that being the app struggling to refresh the race weekend post race (throughout the whole developing process my biggest enemy was that ending transition huh). that’s now fixed, it now uses storage to know if to refresh. wrote the whole readme today as well, by far the most effort i’ve ever made for a readme, but i had to cuz this project means quite a lot to me. and as a final feature, cuz if i didnt i would get exterminated from this planet by the copyright agents, i added the possibility for you to choose your track images for the hero! since i had to delete the hero images that came bundled before cuz copyright and redistribution and stuff, the app, by default, now comes with no hero image, just a silly gradient. you, the user, now have the power of choosing the circuit hero image, bring your own from whatever source! details on how to do this in the readme! and yea! like that, i’m finally shipping this project of mine! thanks to y’all that have followed the whole development process and my (alleged) suffering and gave your amazing support! it truly means a lot to me 💖.
Ships:
P1xp!...
|
1793210215.488131
|
1793296615.488131
|
|
15691
|
My action macropad! by @Akqwrdgamer_YT | Stardance
|
Akqwrdgamer_YT
|
0
|
10.58
|
0
|
[]
|
[{"post_id": 78916, "ts": "202 [{"post_id": 78916, "ts": "2026-10-12T01:13:36Z", "hours": 2.2536, "text": "final touches and making a cap for the dial"}, {"post_id": 78829, "ts": "2026-10-11T18:23:13Z", "hours": 1.0406, "text": "fixing cad tolerances it took 6 tries"}, {"post_id": 78799, "ts": "2026-10-11T17:09:51Z", "hours": 2.1297, "text": "testing cad tolerances, putting it into a assembly, and fixing hole sizes to fit a m4 14mm hex screw"}, {"post_id": 78761, "ts": "2026-10-11T14:58:21Z", "hours": 3.8814, "text": "The case is now done"}, {"post_id": 78223, "ts": "2026-10-10T00:45:42Z", "hours": 0.6497, "text": "The PCB is done now I’m working on making the case for it (BTW I was rec during this so I actually have 3-4 hours on it)"}, {"post_id": 78149, "ts": "2026-10-09T19:40:05Z", "hours": 0.6275, "text": "my macro pad"}]...
|
Title: My action macropad! by @Akqwrdgamer_YT | St Title: My action macropad! by @Akqwrdgamer_YT | Stardance
Devlogs:
my macro pad
The PCB is done now I’m working on making the case for it (BTW I was rec during this so I actually have 3-4 hours on it)
The case is now done
testing cad tolerances, putting it into a assembly, and fixing hole sizes to fit a m4 14mm hex screw
fixing cad tolerances it took 6 tries
final touches and making a cap for the dial...
|
1792767036.3308902
|
1793371836.3308902
|
|
68513
|
My own site! by @flatsoda | Stardance
|
flatsoda
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T01:38:42Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my first website. It is a site that gives and introduction about me a displays the things is like!", "repo": "https://github.com/flatcherrysoda/personal-website", "demo": "https://flatcherrysoda.github.io/personal-website/"}]...
|
[{"post_id": 78915, "ts": "202 [{"post_id": 78915, "ts": "2026-10-12T01:03:50Z", "hours": 3.8986, "text": "I finished up my website!! I didn’t really know what to put on it. So I just put the things I like. It took me like wayyy to long to figure out how to make the image hover titles … and the worst part is that it was broken just because I spelt something wrong. :[ but my site is now up!!!"}, {"post_id": 77714, "ts": "2026-10-08T02:13:55Z", "hours": 0.6344, "text": "I made the first into page for my website. This is my first time using HTML and CSS, W3Schools & google helped a lot lol :D."}]...
|
Title: My own site! by @flatsoda | Stardance
Devl Title: My own site! by @flatsoda | Stardance
Devlogs:
I made the first into page for my website. This is my first time using HTML and CSS, W3Schools & google helped a lot lol :D.
I finished up my website!! I didn’t really know what to put on it. So I just put the things I like. It took me like wayyy to long to figure out how to make the image hover titles … and the worst part is that it was broken just because I spelt something wrong. :[ but my site is now up!!!
Ships:
I made my first website. It is a site that gives and introduction about me a displays the things is like!...
|
1793217240.554855
|
1793303640.554855
|
|
21137
|
Colosseus by @gauss | Stardance
|
gauss
|
0
|
69.15
|
0
|
[]
|
[{"post_id": 78908, "ts": "202 [{"post_id": 78908, "ts": "2026-10-12T00:22:17Z", "hours": 5.0272, "text": "IT WORKSSSSS ok sit tight brodini cuz i got a lot of stuff to tell you I burned another PCB! yea, u sure heard that right. I found out what the issue with the PCB was: the motor driver was in the wrong orientation, which connected the +12V rail itself to a gpio pin, frying the rp2040 entirely. Instead of using my hot air station to de-solder and rotate the driver, I decided to just make another board because I was lazy. The second board ended up not working either, and when I pressed down on one of the legs of the buck converter with a multimeter, the IC caught on fire and started smoking. I ended up needing to use a hot air station to replace the buck converter on that board, so I used it to heat up and fix the driver on my previous board while I was at it. I now have two working boards but does it really work? yup. how do you know? because I’m built like that I dont think so stfu ANYWAY…FIRMWARE TIMEEEE The best way to verify the board works is to test out its main feature: controlling Colosseus’ motors (goddamn I’ve spent so much time on the pcb that I’m still not comfortable with the actual name of the robot). I wrote some code in C to blink the KineticBoard’s onboard led, built and flashed the .uf2 to the pico, connected it to the board, andd… … … … IT DIDN’T CATCH ON FIRE! (that’s a first) it actually blinked the LED like it was supposed to. wow. With that boost in confidence, I was more inclined to write code for the robot itself. I started scaffolding a library for the robot, which I’m calling KineticLib . So far, I’ve written code to simplify PWM channels because the TB6612FNG motor driver relies on two of them. I tested my library by adding a demo project that makes the robot incrementally increase in speed, and then come back in the same manner. It worked too! things I HAVEN’T tested yet connecting the Pico to USB while it’s attached to the hat using the usb-c rececptacle to power other stuff (like a regular rpi) observing the effect of forcing the motors to spin while they are connected to the KineticBoard (I tried this briefly and I smelled some type of smoke, but I could very well just be paranoid) but yea all in all 11/10 experience i would highly recommend trying to make one of these on your own. if you happen to be brave enough to test these before I do, lmk what happens on slack (if you survive)."}, {"post_id": 77207, "ts": "2026-10-06T03:02:31Z", "hours": 0.9836, "text": "THE BOARD IS ON FIRE Not really, but it kinda is. After soldering all of the components on with an iron and hot plate, I connected the Pi Pico to the HAT via the female header sockets. I wrote a simple blinky script and verified that it worked when powered by my regular laptop. However, when I powered the KineticBoard HAT with the Pico, the RP2040 chip started smoking and I was able to capture a brief orange glow on camera. What now?? I’ll have to carefully look at what could have gone wrong. I tested the voltage readings from the multimeter and found that VSYS reads +5.1V when switched on, which makes sense because the Pico can accept that much. I did notice a constant 0.5V on the +3V3 pin for whatever reason (before attaching the pico). I’ll isolate the Pico on a breadboard and attach jumper wires only where needed, and gradually close in on the part that caused the failure. On a side note, I figured out why one of the LEDs isn’t working. It happens to not be connected to GND; however, everything else seems to be connected just fine."}, {"post_id": 74265, "ts": "2026-09-27T03:10:38Z", "hours": 4.0342, "text": "Custom Enclosure for the PCB After the board had travelled across the Pacific Ocean and the United States, it finally reached its destination at the core of Colosseus. UPDATE: THE PCB AND THE LCSC PARTS HAVE ARRIVED!!!! Whadidyado? I started creating a case for the KineticBoard. So far, I copied the layout of the board from KiCAD and added cutouts for parts that were meant to have user interaction. I tested out three prototypes before settling on one that actually fit (a lot of issues were solved by adding extra clearance and gaps). Potential Issues I’m 70% certain that the case won’t fit the bottom floor of the chassis, but that’s a problem for later. For now, I’m just designing the most badass case I can."}, {"post_id": 67863, "ts": "2026-09-14T04:29:30Z", "hours": 0.8228, "text": "Sent out the order! After finalizing the last parts of the extension board, I used my hardware grant to send the PCB over to JLC for fabrication. I separately purchased parts from LCSC."}, {"post_id": 63987, "ts": "2026-09-08T02:41:10Z", "hours": 2.2825, "text": "Finished the PCB The final coat of copper pavement was carefully laid out as the green city was unified at last. Changes I routed the motor driver’s pins to the two 6-pin adapters on the bottom right of the board. I connected the last pads, and added some finishing touches such as screw holes for a 3D-printed enclosure and some custom silkscreen cuz why not. I also filleted the edges as I read that it was a good practice online. What’s Next? All of the GND pads are isolated, so I need to make a copper fill zone or something to link all of them. I also plan on adding a little silkscreen on the back, and then we should be good to go!"}, {"post_id": 62644, "ts": "2026-09-06T03:28:09Z", "hours": 3.9669, "text": "Almost Done with the Layout With the components oriented in their city-like pattern, all that was left to do was to pave the final roads through the green adhesive base, connecting the motor driver to the 6-pin adapters. Changes? I decided to drop the 12V to 3.3V buck because the Pico has one internally, and I could just keep my 5V buck and feed its output into VSYS and extract 3.3V from the Pico’s +3V3 pin. I also ended up changing the orientation of some adapters because I couldn’t comprehend the fact that the PCB exists in 3 dimensions? Lastly, I greedily extended the bottom of the PCB so that both partitions could access one large +12V trace (the GPIO sockets were interfering). What next? All I have to do is wire up the connections to the motor driver and adapters, and we should be good to manufacture ts."}, {"post_id": 57735, "ts": "2026-08-30T00:13:42Z", "hours": 3.4392, "text": "Finished KineticBoard HAT Schematic I spent a few hours finishing the schematic for the KineticBoard HAT, an extension board that allows the Pi Pico to control motors. Additions Rather than using a standard Li-Ion to power the Pico and a really small power bank to power the Pi, I decided to just use one: the Li-Ion. For this to happen, the PCB would need to convert 12V to 5V and expose this voltage through a USB-C connector. I decided to copy & paste my old buck converter schematic, but I had to pick different resistance values such that this formula V = 0.925 * (1 + R1/R2) yielded ~5.1V. This seems easy, but I wanted to use some resistors that I already had. I decided to make a C program that picked the most optimal values for this voltage divider. The program works by following a 2 pointer algorithm which adjusts the numerator and the denominator by shuffling through a sorted list of the resistance values, and finding the ones that are closest to the target voltage. I also expanded on my old buck converter by making the +3V3 net controlled by a switch, just so that no weird stuff happens if I connect both the PC and battery to the board at the same time. Lastly, I added the 6-pin JST connectors, the motor driver, and a few status LEDs. I put everything in the PCB editor in the end, and I’m honestly terrified of routing this thing, but that’s a problem for later lol."}, {"post_id": 52037, "ts": "2026-08-22T02:18:59Z", "hours": 2.0181, "text": "Another PCB????? I’m creating a second motor driver board, but this time instead of being a standalone devboard, it is only a hat. Schematic Stuff I added symbols for header sockets, the barrel jacks, a buck converter, and the usual dozens of resistors and caps. The pinout for the buck converter was so annoying and something about putting non-connecting wires on top of each other pissed me off a lot. It’s an eyesore, and I can already tell that I have to use a billion vias to get everything working once I’ll hit the layout stage."}, {"post_id": 41542, "ts": "2026-08-05T20:17:20Z", "hours": 1.6042, "text": "So I Almost Burned My Finger I was trying to get the encoders to work, but in the process of reading data through USB serial, I got a mild shock How Did This Happen? To configure hall effect encoders, you need to give each wheel a good spin to determine how many “pulses” are detected by the Pico. The detection part is quite simple: whenever the wheel turns a certain amount, motor encoders A and B change state. This can be detected through an interrupt and then printed out (in the main loop, not the callback). However, in the process of printing it out, I touched the USB-C receptacle and felt it get extremely hot, and later realized that something got shorted somewhere. Any Guesses Where? Looking back at the situation, I had connected the battery and USB power from my laptop to the board at the same time, so something might have gone wrong there. Another thing that was going wrong was that the receptacle itself was coming off, so it could be that one of the pads, say +5V for instance, came in contact with like GND or smth, inducing shock if someone were to touch it. Here’s an image from the timelapse right before I plugged the board into my laptop and fried it:"}, {"post_id": 41002, "ts": "2026-08-04T21:46:57Z", "hours": 0.25, "text": "Soldered the GPIO pins Yea idk why I didn’t do this earlier but I needed the GPIO pins to read data from the motor encoders."}, {"post_id": 37990, "ts": "2026-07-31T02:44:53Z", "hours": 2.0092, "text": "First Drive I checked the devboard for any last errors and connected it to the motors on the robot! Final checks I verified that the KineticBoard Leaf works when it’s powered by USB and by the 5000mAh Li-Ion battery. I did this by writing a simple program that toggles a GPIO pin, and used a multimeter to read the oscillating voltages. It worked!! Test Drive! I already had firmware from the design stage, but it was written for a different motor driver so I decided to start from scratch. I created a basic motor drive “class” (structs/functions to go with the struct) in C and set up my CMake project in a way that I could add a demos folder later. Now that I had custom firmware for the TB6612FNG, I wired up each screw terminal pair to the M1 and M2 pins on each motor, and flipped the switch to see it drive perfectly! It was really relieving to see everything work on first try, and I gained a huge confidence boost in my embedded programming skills. Future Enhancements The motors came with 6-pin connectors, and I should have included appropriate receivers for these connectors on the KineticBoard Leaf rather than just generic screw terminals. Currently, I have to connect the 6-pin connector to 6 jumper wires, which is quite the eyesore."}, {"post_id": 37353, "ts": "2026-07-30T00:32:38Z", "hours": 0.35, "text": "Lab Visit + THE DEVBOARD WORKS NOW WOHOOO After inhaling a mole of lead-based solder fumes, I finally got the devboard to work!!! It’s my first ever PCB so I’m really stoked!! I visited my friend’s lab at the university where he works and we were able to debug and fix the devboard in a few hours. Unfortunately, I remembered that I had to record the whole thing in lapse in the last 20 minutes, but I guess that’s just karma for taking 9 hours ( ) to hand solder/debug a PCB in my last devlog (yes ik i suck). Issues My previous attempt at soldering failed because I set the temperature of my hot air gun too low, and I overestimated surface tension’s effect on my hot plate. I used a high-res microscope at the lab and saw that most of the QFN components were only partially soldered. I could quite literally see a tiny gap between the two pads. Another thing I saw was some obvious bridging, which I quickly fixed with a soldering iron. One of my biggest takeaways from the lab was that THE TYPE OF SOLDER FLUX MATTERS!!! I previously used some generic $14 flux from Amazon, but it was so bad that even some of the most powerful ultrasonic flux cleaners couldn’t get it off easily. It was also so thick that even the infrared lamp couldn’t get the RP2040 to stick down. My friend used (and recommended) water-soluble flux, which makes it easy to clean off without messy isopropyl alcohol. I ended up salvaging the parts from my old PCB to build a new one from scratch. I learned how to solder QFP packages, 0603s, and even 0402s with an iron. In the end, a soldering iron is THE BEST way to guarantee that your components are soldered down, especially when verified with a microscope. I also learned how to solder using an infrared lamp and hot air (properly, this time). Results??? Right as I finished soldering the last component, I connected it to my computer and held down bootselect….and IT WAS DETECTED AS A MASS STORAGE DEVICE!!! I was so excited at this time that I finally rekindled my motivation to keep building more of these PCBs (I was pretty close to giving up on PCB-related projects ngl). Anyway, right before leaving, I put it in the ultrasonic washer they have for PCBs (which is just a tiny container with water and ultrasonic waves being fired it at from all directions to take the flux off. I’m currently waiting until tomorrow for it to air dry, and then I’ll incorporate it in the robot!"}, {"post_id": 32135, "ts": "2026-07-21T02:56:44Z", "hours": 9.7003, "text": "Broken Devboard So this was my first time ever soldering a PCB, and I didn’t go easy on myself especially considering I used 0402 footprints on a 4-layer double-sided layout. I had hoped that it would work after soldering all the parts but unfortunately, it did not. Areas of Error The front portion was soldered using a hot plate, and the back was soldered with a hot air gun. This was my first time using a hot air gun, so I had my dad (a former electronics hobbyist) help me out a little. Turns out we both couldn’t fix it. One potential error is that the back side wasn’t properly soldered because we ran the air gun at 220 degrees fahrenheit, wihch could have meant that the core of the gun was that hot but outside it could be 150 or something. Another thing that could have gone wrong is the ICs could have been overheated and cooked, or a tiny bridge on the RP2040 could have shorted the whole thing. Next Steps and Debug I asked a friend (a guy who has a PhD in computer/rf engineering) to help me debug the board, and he said he’ll be more than happy to in a few weeks. In the meantime, I guess I’ll just make a bunch of more projects!"}, {"post_id": 28924, "ts": "2026-07-15T15:07:31Z", "hours": 3.2167, "text": "SMD Soldering Attempt The parts from LCSC and JLCPCB had arrived! This meant that I could finally build the final part of the robot: the KineticBoard controller (yk, the devboard with a motor driver on it?). It’s gonna be difficult because I have to solder both sides of the PCB, but so far I only soldered the first side. Some parts were misaligned but it looks mostly ok."}, {"post_id": 27967, "ts": "2026-07-13T22:31:13Z", "hours": 2.4608, "text": "Rebuilt the Robot The new standoffs had finished 3D printing, so I could finally replace the faulty old ones. Since I had to tear the robot down anyway, I decided to fix the motor slant problem as well. The solution to the motor slant problem was relatively simple: some foam padding to lift the motors up to the horizontal. This solution not only worked perfectly, but also gave the robot a little bit of shock absorbance. After that, all I had to do was build the robot with the new standoffs, which was actually quite a chore because it’s hard to use a screwdriver at an angle."}, {"post_id": 26870, "ts": "2026-07-11T22:02:49Z", "hours": 0.9167, "text": "Standoff Redesign The old standoffs had an issue because they weren’t properly threaded, which meant that there really wasn’t much aside from minimal friction that was holding the screws in place. The Fix I redesigned the standoffs by making them wider, thoroughly hollow, and exposed on one half. This allowed me to slide nuts and screws inside the standoffs, which will guarantee a perfect lock. Another issue that this redesign fixed was the blocked hole problem. Essentially, when I put a screw in a hole on the middle chassis, I couldn’t then use that same hole for another standoff to connect the other side. This solves that issue since a single screw on the middle chassis can now go through two standoffs at once, allowing me to connect both sides."}, {"post_id": 24486, "ts": "2026-07-08T01:50:07Z", "hours": 2.2497, "text": "Assembly Time! Alas, the fun part officially begins! At the time of writing this, most of the parts I ordered online have arrived, with the exception of the custom PCB from JLC. The parts for the chassis just came out of the 3D printer an hour before I started my session, so I had enough parts to finally build the robot! Challenges Building the actual robot brought tiny errors that I had previously overlooked to light. For starters, the 2.5mm trough, while looking very aesthetic, caused the motors to tilt slightly upwards. Additionally, the custom 3D-printed standoffs didn’t really hold on to the M3 screws, so I’m just hoping gravity does its thing. I might have to hot glue them later if more issues arise out of this. Lastly, the motors come with female-to-female cables, but my KineticBoard Leaf expects female-to-male. I might add male headers to the next iteration of the KineticBoard Leaf."}, {"post_id": 23890, "ts": "2026-07-07T03:00:11Z", "hours": 2.5553, "text": "Quality-of-life Updates for the Chassis I had used horseshoe-type straps previously in an RC Car design but those had a tendency to slide horizontally. With that in mind, I decided to use the motor’s 2 M3 screws to build a strap on each side of the chassis to lock the motors in place. I’ll still keep one horseshoe clamp for each motor in addition to this for stability purposes."}, {"post_id": 15868, "ts": "2026-06-25T19:55:35Z", "hours": 3.5669, "text": "Fixing the KineticBoard Did you know that something as simple as a double-sided version of a Pi Pico can cost around $150 to manufacture from JLC? Yea, I didn’t either. Silkscreen Redesigns! I made some newer art to put as a silkscreen. I think what I had before was okay, but it seemed a bit sloppy. GitHub submodule stuff I updated the KineticBoard Repo and added it as a submodule to my main repository. Capacitor Fix From my last session, I ended with picking a capacitor that had a higher voltage rating since passing 12V through a 6.3V capacitor will definitely cause dielectric breakdown. My solution last time was to use an 25V electrolytic aluminum capacitor, which ended up being too big. To resolve the overlap, I just chose a different SMD Capacitor footprint—this time for a tantalum capacitor since they’re much smaller. Inverted Screw Terminals Apparently the screw terminals were inverted this whole time. I realized this since the arrows were pointing toward the terminals from the center of the board, rather from the outside (the arrows indicate the direction that the wire will enter). I fixed this by rotating each screw terminal by 180 but this just caused 19 DRC violations. Of course, I had to reroute all of the traces that were flipped, and of course I had made it so that fixing one trace blocks the other trace from passing through. I ended up solving this problem by dropping a via and routing the board through one of the 2 middle layers. And it costs WHAT??? Yup. The board itself costs $7, but then JLCPCBA decided to ramp up the cost to $150 with a $50 setup fee, $30 “loading into the feeder” fee, and so on. I’m thinking of buying a hot plate to “solder” all of the SMD parts on the board at home, but some of my caps are 0402 and those things are genuinely microscopic."}, {"post_id": 15472, "ts": "2026-06-25T04:59:34Z", "hours": 4.2003, "text": "CAD Touch-ups I had previously built a chassis for this robot before in Stasis, but I had never shipped it. Today, I looked at the BOM for the assembly and saw that the metal standoffs that hold the layers together cost more than $2 per piece. I avoided this fee by modeling my own plastic standoffs that had M3 holes on both ends. I also updated the wheels to fit better with the chassis and use less filament. Unfortunately, this increased the mass moment of inertia of the wheels so stopping them and getting them to start might be a future issue? (I hope not tho plsplspls). You have a devboard too? Whatttt Yep! At Stasis, I also made a devboard known as the KineticBoard for this robot. This wasn’t shipped either. Since the devboard was almost complete, I decided to start looking up how to use JLCPCB and realized that I had yet another BOM to fill. Yayyyy🫠. I spent a solid hour figuring JLC out and also saw that one of my capacitor footprints needs to be updated because they don’t make 100uF capacitors in a size that’s expected of the 22pF ones (oopsie). Unfortunately, doing so resulted in another issue which is that the new capacitor is colliding with the motor driver, so fixing that is gonna be a lot of fun 🫠🫠🫠🫠. Anyway that’s a task for tomorrow."}, {"post_id": 14801, "ts": "2026-06-24T01:22:15Z", "hours": 1.2106, "text": "Dual-motor…drive? I added a second motor and added support for turning in the Pico’s firmware. The main challenge in this session was figuring out how the robot will turn. Since the entire purpose of the Pico is to be the Pi’s personal uber driver, it should have the ability to process almost every command on its own without reliance on the Pi. To put it simply, the Pi won’t say “hey, turn one motor this way and the other one in the opposite direction to create a torque to make the robot spin,”; instead, it will simply say something like “turn this way!” and the Pi will figure out the angle in which it should turn and it will internally compute how it should control the motors. The new command structure is now 2 bits for direction + 2 dummy bits + 4 control bits . Having the 2 bits for direction allows for 4 possible outputs. Since my histogram from the algorithm used intervals of 45 degrees, having 4 of those 45 degree chunks is enough to cover a 180 degree arc. With turning support in both the left and right direction using the command nibbles 0xD and 0xE , respectively, it is possible to complete a full rotation. INFINITE RECURSIONNNNNN Since the robot is supposed to only rotate for a little bit and then resume moving in whatever direction it was going in, I implemented this by using a recursive call to the control function itself and passing in the value of the old command as the new command to execute. This recursive behavior was only meant for turns, not straight movement. As you could guess from the header, this resulted in the program calling itself over and over if I did two turns (since the last command was a turn and it’s last command, by my stupid function call, is also a turn). I patched this by making the program only recall straight moves and not turns, that way it would never have a old_cmd encoding for another turn."}, {"post_id": 13518, "ts": "2026-06-22T03:51:37Z", "hours": 0.4742, "text": "It’s running on the Pi! I used a docker container to allow the web app to be easily hosted on a Raspberry Pi 4. Docker provided a somewhat seamless transition from my local linux environment to the Pi, but I still had to cross compile it for the ARM64 architecture and had to modify a few things Andddd of course I got stuck somewhere in the middle So web apps in docker apparently dont use localhost , instead, they use 0.0.0.0 and expose their port at runtime. This made it quite complicated, because the JavaScript needed to call its websocket from…itself (but on the browser end aka localhost), whereas the Python server would serve 0.0.0.0, which would be then connected to localhost by the daemon. This took me some time to realize, and it was more annoying to recompile the image every time I wanted to make a subtle change."}, {"post_id": 13303, "ts": "2026-06-21T19:42:03Z", "hours": 3.5881, "text": "Hardware Setup + Communication Interfaces drive me crazy Before you look at the time and freak out, I ran into like a dozen errors and each could have been caused by at least ten different independent variables 😭. What did you do? Anyway, I set up a Raspberry Pi 4 (the thing I’m also currently using for my website, www.StatixLabs.org ) and a Pi Pico. I soldered the pins on a DRV8833 motor driver module and connected it to the Pico. I then created 2 UART lines from the Pi to the Pi Pico, allowing them to communicate serially. I then attached a mini N20 motor (with encoders) to the Pico’s motor driver, but this will change when I get the funding to buy motors that can actually sustain the weight of the robot. I then created a command structure in which the Pi transmits a single byte of data to control the motor. The structure of the packet (well, at least I think it’s a packet?) is 4 bits for speed + 4 bits for command . On the regular Pi, I created a script that accepted user input in the form command,speed in which speed was a normalized float, being optional for the command stop which assumes a speed of 0. Commands like forward and backward transmit 0x?A and 0x?B , respectively, and the ? is just a placeholder for the speed nibble. Sooooo, why three and a half hours? Great question! It took me a solid hour to figure out how to use the motors with the Pi Pico. This is because I initially had one of the Undercity themed Pico Devboards, and I thought they were really cool so I didn’t wanna mistakenly ruin the design because of my lousy soldering. So, I just decided to use header pins and sandwiched the devboard in between the header pins and the breadboard. It partially worked, but it was unreliable for the entire right half of the board. I ended up having to use one of my Pico 2’s that I had already soldered, and I also had to change the CMake to account for this. I was extra confused because UART communication worked perfectly fine with my previous sandwich approach, but simple PWM motor control didn’t. Oh well, at least everything worked out in the end after the switch 🫠."}, {"post_id": 12819, "ts": "2026-06-20T23:57:18Z", "hours": 2.4442, "text": "Added Web UI Since the robot is targeted towards a more non-technical audience, I decided that a web interface is much better than a pygame window. This will also be a key part in a “ship” since it’s meant to be “published” and you can’t really publish a pygame script that first of all isn’t even a game lol. I learned how WebSockets work and I made a copy of the graphing script but stripped away the pygame API and added a web server to it. Some challenges I ran into were synchronization, so I solved it by creating a different thread in which the LiDAR runs and sends its data to a buffer, while the main thread runs the web server and sends the buffered data."}, {"post_id": 12150, "ts": "2026-06-19T21:00:23Z", "hours": 2.5475, "text": "Rework + Better Navigation I decided to rewrite the entire pygame display since whoever wrote it before did it totally backwards and it had caused my algorithms to break and a bunch of other problems. So after that pygame refresher, I also reworked my algorithm because tuning the linear max offset seemed to be too unreliable for a broad range of environments and using something like a reciprocal function would make the algorithm amplify noise because my lidar often picks up random particles that are super close to it’s surface (I tried wiping it with a dry cloth; it didn’t work). Anyway, the new algorithm turns the unit circle into a histogram of angles and then calculates the average distance in each interval to determine which direction is the furthest away. The algorithm then picks that direction since it is the best direction that the robot can move in for autonomous navigation (you know, finding new areas?). Anyway, this algorithm is still pretty elementary but it worked first try (well, technically second because of an optimization)."}, {"post_id": 11670, "ts": "2026-06-19T00:41:24Z", "hours": 1.6672, "text": "Basic Navigation Algorithm I implemented a naive navigation algorithm for the robot. the algorithm uses an obstacle avoidance strategy. So far, it uses a linear transform that pushes the robot away from nearby items. However, I noticed that IRL, the LiDAR doesn’t feel the push in the opposite direction until the obstacle gets too close. I’m planning on fixing this later by using an inversion function or something rather than just subtraction."}, {"post_id": 10941, "ts": "2026-06-17T22:49:12Z", "hours": 1.565, "text": "I created a basic scanner by using an RPLiDAR library from a YouTube Video . I adjusted the script for my LiDAR type and fixed a few bugs in the code such as angular positioning inversions. I also started working on the readjustment logic in which the frame is held still when the robot turns by rotating every point on the frame in the opposite direction that it is turning in. I also improved the color logic by using an actual gradient-based shader."}]...
|
Title: Colosseus by @gauss | Stardance
Devlogs:
I Title: Colosseus by @gauss | Stardance
Devlogs:
I created a basic scanner by using an RPLiDAR library from a YouTube Video . I adjusted the script for my LiDAR type and fixed a few bugs in the code such as angular positioning inversions. I also started working on the readjustment logic in which the frame is held still when the robot turns by rotating every point on the frame in the opposite direction that it is turning in. I also improved the color logic by using an actual gradient-based shader.
Basic Navigation Algorithm I implemented a naive navigation algorithm for the robot. the algorithm uses an obstacle avoidance strategy. So far, it uses a linear transform that pushes the robot away from nearby items. However, I noticed that IRL, the LiDAR doesn’t feel the push in the opposite direction until the obstacle gets too close. I’m planning on fixing this later by using an inversion function or something rather than just subtraction.
Rework + Better Navigation I decided to rewrite the entire pygame display since whoever wrote it before did it totally backwards and it had caused my algorithms to break and a bunch of other problems. So after that pygame refresher, I also reworked my algorithm because tuning the linear max offset seemed to be too unreliable for a broad range of environments and using something like a reciprocal function would make the algorithm amplify noise because my lidar often picks up random particles that are super close to it’s surface (I tried wiping it with a dry cloth; it didn’t work). Anyway, the new algorithm turns the unit circle into a histogram of angles and then calculates the average distance in each interval to determine which direction is the furthest away. The algorithm then picks that direction since it is the best direction that the robot can move in for autonomous navigation (you know, finding new areas?). Anyway, this algorithm is still pretty elementary but it worked first try (well, technically second because of an optimization).
Added Web UI Since the robot is targeted towards a more non-technical audience, I decided that a web interface is much better than a pygame window. This will also be a key part in a “ship” since it’s meant to be “published” and you can’t really publish a pygame script that first of all isn’t even a game lol. I learned how WebSockets work and I made a copy of the graphing script but stripped away the pygame API and added a web server to it. Some challenges I ran into were synchronization, so I solved it by creating a different thread in which the LiDAR runs and sends its data to a buffer, while the main thread runs the web server and sends the buffered data.
Hardware Setup + Communication Interfaces drive me crazy Before you look at the time and freak out, I ran into like a dozen errors and each could have been caused by at least ten different independent variables 😭. What did you do? Anyway, I set up a Raspberry Pi 4 (the thing I’m also currently using for my website, www.StatixLabs.org ) and a Pi Pico. I soldered the pins on a DRV8833 motor driver module and connected it to the Pico. I then created 2 UART lines from the Pi to the Pi Pico, allowing them to communicate serially. I then attached a mini N20 motor (with encoders) to the Pico’s motor driver, but this will change when I get the funding to buy motors that can actually sustain the weight of the robot. I then created a command structure in which the Pi transmits a single byte of data to control the motor. The structure of the packet (well, at least I think it’s a packet?) is 4 bits for speed + 4 bits for command . On the regular Pi, I created a script that accepted user input in the form command,speed in which speed was a normalized float, being optional for the command stop which assumes a speed of 0. Commands like forward and backward transmit 0x?A and 0x?B , respectively, and the ? is just a placeholder for the speed nibble. Sooooo, why three and a half hours? Great question! It took me a solid hour to figure out how to use the motors with the Pi Pico. This is because I initially had one of the Undercity themed Pico Devboards, and I thought they were really cool so I didn’t wanna mistakenly ruin the design because of my lousy soldering. So, I just decided to use header pins and sandwiched the devboard in between the header pins and the breadboard. It partially worked, but it was unreliable for the entire right half of the board. I ended up having to use one of my Pico 2’s that I had already soldered, and I also had to change the CMake to account for this. I was extra confused because UART communication worked perfectly fine with my previous sandwich approach, but simple PWM motor control didn’t. Oh well, at least everything worked out in the end after the switch 🫠.
It’s running on the Pi! I used a docker container to allow the web app to be easily hosted on a Raspberry Pi 4. Docker provided a somewhat seamless transition from my local linux environment to the Pi, but I still had to cross compile it for the ARM64 architecture and had to modify a few things Andddd of course I got stuck somewhere in the middle So web apps in docker apparently dont use localhost , instead, they use 0.0.0.0 and expose their port at runtime. This made it quite complicated, because the JavaScript needed to call its websocket from…itself (but on the browser end aka localhost), whereas the Python server would serve 0.0.0.0, which would be then connected to localhost by the daemon. This took me some time to realize, and it was more annoying to recompile the image every time I wanted to make a subtle change.
Dual-motor…drive? I added a second motor and added support for turning in the Pico’s firmware. The main challenge in this session was figuring out how the robot will turn. Since the entire purpose of the Pico is to be the Pi’s personal uber driver, it should have the ability to process almost every command on its own without reliance on the Pi. To put it simply, the Pi won’t say “hey, turn one motor this way and the other one in the opposite direction to create a torque to make the robot spin,”; instead, it will simply say something like “turn this way!” and the Pi will figure out the angle in which it should turn and it will internally compute how it should control the motors. The new command structure is now 2 bits for direction + 2 dummy bits + 4 control bits . Having the 2 bits for direction allows for 4 possible outputs. Since my histogram from the algorithm used intervals of 45 degrees, having 4 of those 45 degree chunks is enough to cover a 180 degree arc. With turning support in both the left and right direction using the command nibbles 0xD and 0xE , respectively, it is possible to complete a full rotation. INFINITE RECURSIONNNNNN Since the robot is supposed to only rotate for a little bit and then resume moving in whatever direction it was going in, I implemented this by using a recursive call to the control function itself and passing in the value of the old command as the new command to execute. This recursive behavior was only meant for turns, not straight movement. As you could guess from the header, this resulted in the program calling itself over and over if I did two turns (since the last command was a turn and it’s last command, by my stupid function call, is also a turn). I patched this by making the program only recall straight moves and not turns, that way it would never have a old_cmd encoding for another turn.
CAD Touch-ups I had previously built a chassis for this robot before in Stasis, but I had never shipped it. Today, I looked at the BOM for the assembly and saw that the metal standoffs that hold the layers together cost more than $2 per piece. I avoided this fee by modeling my own plastic standoffs that had M3 holes on both ends. I also updated the wheels to fit better with the chassis and use less filament. Unfortunately, this increased the mass moment of inertia of the wheels so stopping them and getting them to start might be a future issue? (I hope not tho plsplspls). You have a devboard too? Whatttt Yep! At Stasis, I also made a devboard known as the KineticBoard for this robot. This wasn’t shipped either. Since the devboard was almost complete, I decided to start looking up how to use JLCPCB and realized that I had yet another BOM to fill. Yayyyy🫠. I spent a solid hour figuring JLC out and also saw that one of my capacitor footprints needs to be updated because they don’t make 100uF capacitors in a size that’s expected of the 22pF ones (oopsie). Unfortunately, doing so resulted in another issue which is that the new capacitor is colliding with the motor driver, so fixing that is gonna be a lot of fun 🫠🫠🫠🫠. Anyway that’s a task for tomorrow.
Fixing the KineticBoard Did you know that something as simple as a double-sided version of a Pi Pico can cost around $150 to manufacture from JLC? Yea, I didn’t either. Silkscreen Redesigns! I made some newer art to put as a silkscreen. I think what I had before was okay, but it seemed a bit sloppy. GitHub submodule stuff I updated the KineticBoard Repo and added it as a submodule to my main repository. Capacitor Fix From my last session, I ended with picking a capacitor that had a higher voltage rating since passing 12V through a 6.3V capacitor will definitely cause dielectric breakdown. My solution last time was to use an 25V electrolytic aluminum capacitor, which ended up being too big. To resolve the overlap, I just chose a different SMD Capacitor footprint—this time for a tantalum capacitor since they’re much smaller. Inverted Screw Terminals Apparently the screw terminals were inverted this whole time. I realized this since the arrows were pointing toward the terminals from the center of the board, rather from the outside (the arrows indicate the direction that the wire will enter). I fixed this by rotating each screw terminal by 180 but this just caused 19 DRC violations. Of course, I had to reroute all of the traces that were flipped, and of course I had made it so that fixing one trace blocks the other trace from passing through. I ended up solving this problem by dropping a via and routing the board through one of the 2 middle layers. And it costs WHAT??? Yup. The board itself costs $7, but then JLCPCBA decided to ramp up the cost to $150 with a $50 setup fee, $30 “loading into the feeder” fee, and so on. I’m thinking of buying a hot plate to “solder” all of the SMD parts on the board at home, but some of my caps are 0402 and those things are genuinely microscopic.
Quality-of-life Updates for the Chassis I had used horseshoe-type straps previously in an RC Car design but those had a tendency to slide horizontally. With that in mind, I decided to use the motor’s 2 M3 screws to build a strap on each side of the chassis to lock the motors in place. I’ll still keep one horseshoe clamp for each motor in addition to this for stability purposes.
Assembly Time! Alas, the fun part officially begins! At the time of writing this, most of the parts I ordered online have arrived, with the exception of the custom PCB from JLC. The parts for the chassis just came out of the 3D printer an hour before I started my session, so I had enough parts to finally build the robot! Challenges Building the actual robot brought tiny errors that I had previously overlooked to light. For starters, the 2.5mm trough, while looking very aesthetic, caused the motors to tilt slightly upwards. Additionally, the custom 3D-printed standoffs didn’t really hold on to the M3 screws, so I’m just hoping gravity does its thing. I might have to hot glue them later if more issues arise out of this. Lastly, the motors come with female-to-female cables, but my KineticBoard Leaf expects female-to-male. I might add male headers to the next iteration of the KineticBoard Leaf.
Standoff Redesign The old standoffs had an issue because they weren’t properly threaded, which meant that there really wasn’t much aside from minimal friction that was holding the screws in place. The Fix I redesigned the standoffs by making them wider, thoroughly hollow, and exposed on one half. This allowed me to slide nuts and screws inside the standoffs, which will guarantee a perfect lock. Another issue that this redesign fixed was the blocked hole problem. Essentially, when I put a screw in a hole on the middle chassis, I couldn’t then use that same hole for another standoff to connect the other side. This solves that issue since a single screw on the middle chassis can now go through two standoffs at once, allowing me to connect both sides.
Rebuilt the Robot The new standoffs had finished 3D printing, so I could finally replace the faulty old ones. Since I had to tear the robot down anyway, I decided to fix the motor slant problem as well. The solution to the motor slant problem was relatively simple: some foam padding to lift the motors up to the horizontal. This solution not only worked perfectly, but also gave the robot a little bit of shock absorbance. After that, all I had to do was build the robot with the new standoffs, which was actually quite a chore because it’s hard to use a screwdriver at an angle.
SMD Soldering Attempt The parts from LCSC and JLCPCB had arrived! This meant that I could finally build the final part of the robot: the KineticBoard controller (yk, the devboard with a motor driver on it?). It’s gonna be difficult because I have to solder both sides of the PCB, but so far I only soldered the first side. Some parts were misaligned but it looks mostly ok.
Broken Devboard So this was my first time ever soldering a PCB, and I didn’t go easy on myself especially considering I used 0402 footprints on a 4-layer double-sided layout. I had hoped that it would work after soldering all the parts but unfortunately, it did not. Areas of Error The front portion was soldered using a hot plate, and the back was soldered with a hot air gun. This was my first time using a hot air gun, so I had my dad (a former electronics hobbyist) help me out a little. Turns out we both couldn’t fix it. One potential error is that the back side wasn’t properly soldered because we ran the air gun at 220 degrees fahrenheit, wihch could have meant that the core of the gun was that hot but outside it could be 150 or something. Another thing that could have gone wrong is the ICs could have been overheated and cooked, or a tiny bridge on the RP2040 could have shorted the whole thing. Next Steps and Debug I asked a friend (a guy who has a PhD in computer/rf engineering) to help me debug the board, and he said he’ll be more than happy to in a few weeks. In the meantime, I guess I’ll just make a bunch of more projects!
Lab Visit + THE DEVBOARD WORKS NOW WOHOOO After inhaling a mole of lead-based solder fumes, I finally got the devboard to work!!! It’s my first ever PCB so I’m really stoked!! I visited my friend’s lab at the university where he works and we were able to debug and fix the devboard in a few hours. Unfortunately, I remembered that I had to record the whole thing in lapse in the last 20 minutes, but I guess that’s just karma for taking 9 hours ( ) to hand solder/debug a PCB in my last devlog (yes ik i suck). Issues My previous attempt at soldering failed because I set the temperature of my hot air gun too low, and I overestimated surface tension’s effect on my hot plate. I used a high-res microscope at the lab and saw that most of the QFN components were only partially soldered. I could quite literally see a tiny gap between the two pads. Another thing I saw was some obvious bridging, which I quickly fixed with a soldering iron. One of my biggest takeaways from the lab was that THE TYPE OF SOLDER FLUX MATTERS!!! I previously used some generic $14 flux from Amazon, but it was so bad that even some of the most powerful ultrasonic flux cleaners couldn’t get it off easily. It was also so thick that even the infrared lamp couldn’t get the RP2040 to stick down. My friend used (and recommended) water-soluble flux, which makes it easy to clean off without messy isopropyl alcohol. I ended up salvaging the parts from my old PCB to build a new one from scratch. I learned how to solder QFP packages, 0603s, and even 0402s with an iron. In the end, a soldering iron is THE BEST way to guarantee that your components are soldered down, especially when verified with a microscope. I also learned how to solder using an infrared lamp and hot air (properly, this time). Results??? Right as I finished soldering the last component, I connected it to my computer and held down bootselect….and IT WAS DETECTED AS A MASS STORAGE DEVICE!!! I was so excited at this time that I finally rekindled my motivation to keep building more of these PCBs (I was pretty close to giving up on PCB-related projects ngl). Anyway, right before leaving, I put it in the ultrasonic washer they have for PCBs (which is just a tiny container with water and ultrasonic waves being fired it at from all directions to take the flux off. I’m currently waiting until tomorrow for it to air dry, and then I’ll incorporate it in the robot!
First Drive I checked the devboard for any last errors and connected it to the motors on the robot! Final checks I verified that the KineticBoard Leaf works when it’s powered by USB and by the 5000mAh Li-Ion battery. I did this by writing a simple program that toggles a GPIO pin, and used a multimeter to read the oscillating voltages. It worked!! Test Drive! I already had firmware from the design stage, but it was written for a different motor driver so I decided to start from scratch. I created a basic motor drive “class” (structs/functions to go with the struct) in C and set up my CMake project in a way that I could add a demos folder later. Now that I had custom firmware for the TB6612FNG, I wired up each screw terminal pair to the M1 and M2 pins on each motor, and flipped the switch to see it drive perfectly! It was really relieving to see everything work on first try, and I gained a huge confidence boost in my embedded programming skills. Future Enhancements The motors came with 6-pin connectors, and I should have included appropriate receivers for these connectors on the KineticBoard Leaf rather than just generic screw terminals. Currently, I have to connect the 6-pin connector to 6 jumper wires, which is quite the eyesore.
Soldered the GPIO pins Yea idk why I didn’t do this earlier but I needed the GPIO pins to read data from the motor encoders.
So I Almost Burned My Finger I was trying to get the encoders to work, but in the process of reading data through USB serial, I got a mild shock How Did This Happen? To configure hall effect encoders, you need to give each wheel a good spin to determine how many “pulses” are detected by the Pico. The detection part is quite simple: whenever the wheel turns a certain amount, motor encoders A and B change state. This can be detected through an interrupt and then printed out (in the main loop, not the callback). However, in the process of printing it out, I touched the USB-C receptacle and felt it get extremely hot, and later realized that something got shorted somewhere. Any Guesses Where? Looking back at the situation, I had connected the battery and USB power from my laptop to the board at the same time, so something might have gone wrong there. Another thing that was going wrong was that the receptacle itself was coming off, so it could be that one of the pads, say +5V for instance, came in contact with like GND or smth, inducing shock if someone were to touch it. Here’s an image from the timelapse right before I plugged the board into my laptop and fried it:
Another PCB????? I’m creating a second motor driver board, but this time instead of being a standalone devboard, it is only a hat. Schematic Stuff I added symbols for header sockets, the barrel jacks, a buck converter, and the usual dozens of resistors and caps. The pinout for the buck converter was so annoying and something about putting non-connecting wires on top of each other pissed me off a lot. It’s an eyesore, and I can already tell that I have to use a billion vias to get everything working once I’ll hit the layout stage.
Finished KineticBoard HAT Schematic I spent a few hours finishing the schematic for the KineticBoard HAT, an extension board that allows the Pi Pico to control motors. Additions Rather than using a standard Li-Ion to power the Pico and a really small power bank to power the Pi, I decided to just use one: the Li-Ion. For this to happen, the PCB would need to convert 12V to 5V and expose this voltage through a USB-C connector. I decided to copy & paste my old buck converter schematic, but I had to pick different resistance values such that this formula V = 0.925 * (1 + R1/R2) yielded ~5.1V. This seems easy, but I wanted to use some resistors that I already had. I decided to make a C program that picked the most optimal values for this voltage divider. The program works by following a 2 pointer algorithm which adjusts the numerator and the denominator by shuffling through a sorted list of the resistance values, and finding the ones that are closest to the target voltage. I also expanded on my old buck converter by making the +3V3 net controlled by a switch, just so that no weird stuff happens if I connect both the PC and battery to the board at the same time. Lastly, I added the 6-pin JST connectors, the motor driver, and a few status LEDs. I put everything in the PCB editor in the end, and I’m honestly terrified of routing this thing, but that’s a problem for later lol.
Almost Done with the Layout With the components oriented in their city-like pattern, all that was left to do was to pave the final roads through the green adhesive base, connecting the motor driver to the 6-pin adapters. Changes? I decided to drop the 12V to 3.3V buck because the Pico has one internally, and I could just keep my 5V buck and feed its output into VSYS and extract 3.3V from the Pico’s +3V3 pin. I also ended up changing the orientation of some adapters because I couldn’t comprehend the fact that the PCB exists in 3 dimensions? Lastly, I greedily extended the bottom of the PCB so that both partitions could access one large +12V trace (the GPIO sockets were interfering). What next? All I have to do is wire up the connections to the motor driver and adapters, and we should be good to manufacture ts.
Finished the PCB The final coat of copper pavement was carefully laid out as the green city was unified at last. Changes I routed the motor driver’s pins to the two 6-pin adapters on the bottom right of the board. I connected the last pads, and added some finishing touches such as screw holes for a 3D-printed enclosure and some custom silkscreen cuz why not. I also filleted the edges as I read that it was a good practice online. What’s Next? All of the GND pads are isolated, so I need to make a copper fill zone or something to link all of them. I also plan on adding a little silkscreen on the back, and then we should be good to go!
Sent out the order! After finalizing the last parts of the extension board, I used my hardware grant to send the PCB over to JLC for fabrication. I separately purchased parts from LCSC.
Custom Enclosure for the PCB After the board had travelled across the Pacific Ocean and the United States, it finally reached its destination at the core of Colosseus. UPDATE: THE PCB AND THE LCSC PARTS HAVE ARRIVED!!!! Whadidyado? I started creating a case for the KineticBoard. So far, I copied the layout of the board from KiCAD and added cutouts for parts that were meant to have user interaction. I tested out three prototypes before settling on one that actually fit (a lot of issues were solved by adding extra clearance and gaps). Potential Issues I’m 70% certain that the case won’t fit the bottom floor of the chassis, but that’s a problem for later. For now, I’m just designing the most badass case I can.
THE BOARD IS ON FIRE Not really, but it kinda is. After soldering all of the components on with an iron and hot plate, I connected the Pi Pico to the HAT via the female header sockets. I wrote a simple blinky script and verified that it worked when powered by my regular laptop. However, when I powered the KineticBoard HAT with the Pico, the RP2040 chip started smoking and I was able to capture a brief orange glow on camera. What now?? I’ll have to carefully look at what could have gone wrong. I tested the voltage readings from the multimeter and found that VSYS reads +5.1V when switched on, which makes sense because the Pico can accept that much. I did notice a constant 0.5V on the +3V3 pin for whatever reason (before attaching the pico). I’ll isolate the Pico on a breadboard and attach jumper wires only where needed, and gradually close in on the part that caused the failure. On a side note, I figured out why one of the LEDs isn’t working. It happens to not be connected to GND; however, everything else seems to be connected just fine.
IT WORKSSSSS ok sit tight brodini cuz i got a lot of stuff to tell you I burned another PCB! yea, u sure heard that right. I found out what the issue with the PCB was: the motor driver was in the wrong orientation, which connected the +12V rail itself to a gpio pin, frying the rp2040 entirely. Instead of using my hot air station to de-solder and rotate the driver, I decided to just make another board because I was lazy. The second board ended up not working either, and when I pressed down on one of the legs of the buck converter with a multimeter, the IC caught on fire and started smoking. I ended up needing to use a hot air station to replace the buck converter on that board, so I used it to heat up and fix the driver on my previous board while I was at it. I now have two working boards but does it really work? yup. how do you know? because I’m built like that I dont think so stfu ANYWAY…FIRMWARE TIMEEEE The best way to verify the board works is to test out its main feature: controlling Colosseus’ motors (goddamn I’ve spent so much time on the pcb that I’m still not comfortable with the actual name of the robot). I wrote some code in C to blink the KineticBoard’s onboard led, built and flashed the .uf2 to the pico, connected it to the board, andd… … … … IT DIDN’T CATCH ON FIRE! (that’s a first) it actually blinked the LED like it was supposed to. wow. With that boost in confidence, I was more inclined to write code for the robot itself. I started scaffolding a library for the robot, which I’m calling KineticLib . So far, I’ve written code to simplify PWM channels because the TB6612FNG motor driver relies on two of them. I tested my library by adding a demo project that makes the robot incrementally increase in speed, and then come back in the same manner. It worked too! things I HAVEN’T tested yet connecting the Pico to USB while it’s attached to the hat using the usb-c rececptacle to power other stuff (like a regular rpi) observing the effect of forcing the motors to spin while they are connected to the KineticBoard (I tried this briefly and I smelled some type of smoke, but I could very well just be paranoid) but yea all in all 11/10 experience i would highly recommend trying to make one of these on your own. if you happen to be brave enough to test these before I do, lmk what happens on slack (if you survive)....
|
1792691240.7314546
|
1793296040.7314546
|
|
4192
|
Artemis Hub by @PolarisSpace | Stardance
|
PolarisSpace
|
2
|
26.71
|
220
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T05:49:39Z", "hours": 7.0, "multiplier": 11.2, "payout": 78, "blessing": "neutral", "text": "This is my final ship for this project, I would encourage you to read my last shipment as I go in more detail of what the project is about. Basically, I built a central website hub that provides information on the Artemis Program. You can find certain information on my website within a few clicks what takes 4-8 clicks on the NASA website. Between the first ship to this one, I’ve mainly just been implementing some feedback I got from the first ship such as adding more text information in case someone doesn’t want to watch the videos, and adding random facts about the astronauts. I added dropdowns which display text which you can click to show, I made them drop down just to save space in the screen if it’s not being used. What took me a bit of time though was adding a script that would provide random information about each Artemis mission every time the page is loaded. That part took a little bit because I was running into an issue where facts for Artemis II would show but not Artemis III, it all had to do with text above overriding the text below. I just resolved this issue by adding the Arrays to the individual HTML files as they just shared the main.js file before.", "repo": "https://github.com/PolarisSpaceDev/ArtemisHub.github.io", "demo": "https://ursa-minor-studios.github.io/ArtemisHub.github.io/"}, {"ship_num": 2, "ts": "2026-07-12T02:00:28Z", "hours": 18.0, "multiplier": 7.99, "payout": 142, "blessing": "neutral", "text": "My project is called Artemis Hub, a static website that provides centralized information about the Artemis Program while showing our progress in building a moon base. It prevents people from navigating to multiple YouTube videos or the entire NASA site (I Frequently have to make multiple clicks to navigate that massive site), and just provides all that information on one page. Even to read information about Artemis II on the NASA site, you still have to view more than one page. So that’s the problem this project solves. To me the most challenging part of it was UI design, that’s what I spent most of my time on. I’m not very good at UI design, so this project allowed me to experiment with UI and I’m getting an idea of what works, doesn’t or what could be done better which will help me in future projects. I’ve also learned how to create a JavaScript countdown timer. For those testing the project, I am still working on responsive design, the site is navigable on mobile devices, but it’s a work in progress. This isn’t the final site, I still have more to do, but I’m doing a in-progress shipment. One thing I am proud of is getting the JavaScript countdown working, and the horizontal carousels made. I was too lazy to figure out how to make a carousel in JavaScript so I just used CSS to position each card and style the trackbar. I wasn’t sure if it was going to work, but it did.", "repo": "https://github.com/PolarisSpaceDev/ArtemisHub.github.io", "demo": "https://ursa-minor-studios.github.io/ArtemisHub.github.io/"}]...
|
[{"post_id": 78906, "ts": "202 [{"post_id": 78906, "ts": "2026-10-12T00:16:04Z", "hours": 1.7078, "text": "Made some progress on my Artemis website! Below is the changelog, but the highlight I have to share is the addition of a “Blogs” page that organizes blogs into rows. These blogs will be more detailed Artemis Updates. It’s the first blog structure I’ve done, so wanted to try it out. I also moved the left navigation bubble content to a bottom navigation bar. Removed Removed the bubble navbar on left side (Got moved to newely added bottom navbar) Added Bottom navigation bar Blog Page First Artemis Blog I would encourage you to look around the repository because I made some additions to it. I added badges at the top of the README file to neatly display some information about the website such as its version, programming languages, etc. Also added a CHANGELOG.md file so you can read every single change I’ve made to this website and read any future updates that are released. Created a Discussions tab at Top menu bar > Discussions so I can make announcements and updates about this project."}, {"post_id": 51420, "ts": "2026-08-21T03:36:32Z", "hours": 1.2047, "text": "Completed Artemis II page Completed the Artemis II page where I explained the flight profile, preparations, and its full flight timeline."}, {"post_id": 50781, "ts": "2026-08-20T04:49:37Z", "hours": 0.71, "text": "Artemis II Page Update! Devlog Formatting This is the first devlog that’s formatted nicely, I’ve been writing them on my phone and for some reason it doesn’t format there at all just displays as a large paragraph. But I’m writing this one on a computer allowing me to format paragraphs and headings. Artemis II page I’ve been working on the Artemis II page, I’m not quite finished but got the history of it and the preperations which explains the stacking timeline and the heatshield issue. Artemis I Timeline I added a timeline to the Artemis I page which you can see in the demo link. It shows major events that happened from stacking to reentry. Another thing I did was update the status of Artemis III below that countdown banner."}, {"post_id": 50607, "ts": "2026-08-19T20:21:50Z", "hours": 5.0447, "text": "Hello It’s been a little while since my last devlog but I plan to make them more frequently. This is my first log sincemy first shipment and Ive been spending thelasst 5 hours trying to implement the feedback I got. 1. Someone said it would be nice to see some facts about the astronauts, so I did something like that. I made an array that displays a random fact about the missions every time the page loads. This one took me a while to do because I was running into an issue where the Artemis I facts would display but not the subsequent ones. I went onto Stack Overflow and problem is resolved. 2. Someone said it would be nice to read texts about the missions rather thaan rely on videos because some people have different preferences for how they learn information. So what I did is created a series of dropdowns on the very bottom that tells you information aout the mission. I chose a dropdown format so they dont take up as much space on the page if its not being read."}, {"post_id": 26960, "ts": "2026-07-12T01:48:18Z", "hours": 1.1619, "text": "During this time, I have embedded two NASA simulations into the website for visualization. You can fine them by going to the Artemis II page and going to the moon base page under “Explore”. I also embedded some YouTube videos to #1 let people understand the idea of the Artemis Program and CLPS who aren’t familiar, and #2 you don’t have to search for multiple YouTube videos potentially on different channels. They all are here. And honestly, when you’re navigating a website, it’s more convenient to watch an embedded video than navigate to YouTube. The last thing I worked on a little bit was making the moon base section more mobile responsive. Still looks a little off, but better than it was before."}, {"post_id": 26647, "ts": "2026-07-11T16:13:29Z", "hours": 4.8525, "text": "Quite afew things have been added since my first devlog. So far I’ve worked a little bit on responsive design to make it more viewable on mobile. I also created a little bubble menu which allows you to transition between Hubs. I created a moon basepage which will provide centralized infirmation on our moon base plans specifically. I’m currently inn the process of implementing some of the simulations NASA created within my website through embedding."}, {"post_id": 17701, "ts": "2026-06-28T16:49:08Z", "hours": 6.7403, "text": "I did quite a few things during this 6 hours. First off, I moved the countdown to the top, andit sticks to the top. Secondly, I added a timeline to visually see each launch. The timeline I used is called JSTimrline which ises a spreadsheet you can embed to add a timeline. They also leave the option for you to create a JSON file ehich gives you more styling options. But I didn’t opt into that. Last thing, I’m leaarning how to use api’s. What you can see in the console is the bio for Cristina Koch provided by Launch Library II. I plan to create a bio for eaach of these astronauts only using the api, if the contents of the api change the web page should change automatically. Although I’m limited to 15 requests per hour which is annoying."}, {"post_id": 6291, "ts": "2026-06-10T16:00:06Z", "hours": 2.4675, "text": "I figured out how to make a countdown timer with JavaScript. This will count down the time left until the next Artemis launch. I also included a little tour of the website in the video. In the video I wait fir about 20 seconds to see that number hit 0. You can skip about 20 seconds if you don’t want to wait for that. Then the bottom of the countdown I will input the status of the Artemis mission. I don’t spend a whole lot of time with JavaScript which is why it took me 2 hours to do. Most of my time was figuring out the milliseconds to years, months, days, etc. I wanted it to show 2 days and 4 hours instead of something like 4000 hours. Another thing included in the video is a tour of some of my code. Let me know if you have any feedback."}, {"post_id": 4664, "ts": "2026-06-08T02:08:01Z", "hours": 2.5367, "text": "I’m creating a website that will provide centralized information about the Artemis Program. Demo is linked in the project for you to try out. I still need to make the website more responsive. What I did today was make the landing page for this website. This so far will include Artemis livestreams, videos, and information on specific missions. Deploying this on Github was a big pain because I needed to restructure the entire website directory, so GitHub could find my index.html file, stylesheet, and images. Let me know if you have any feedback, I’m probably going to make the carousels smaller."}]...
|
Title: Artemis Hub by @PolarisSpace | Stardance
D Title: Artemis Hub by @PolarisSpace | Stardance
Devlogs:
I’m creating a website that will provide centralized information about the Artemis Program. Demo is linked in the project for you to try out. I still need to make the website more responsive. What I did today was make the landing page for this website. This so far will include Artemis livestreams, videos, and information on specific missions. Deploying this on Github was a big pain because I needed to restructure the entire website directory, so GitHub could find my index.html file, stylesheet, and images. Let me know if you have any feedback, I’m probably going to make the carousels smaller.
I figured out how to make a countdown timer with JavaScript. This will count down the time left until the next Artemis launch. I also included a little tour of the website in the video. In the video I wait fir about 20 seconds to see that number hit 0. You can skip about 20 seconds if you don’t want to wait for that. Then the bottom of the countdown I will input the status of the Artemis mission. I don’t spend a whole lot of time with JavaScript which is why it took me 2 hours to do. Most of my time was figuring out the milliseconds to years, months, days, etc. I wanted it to show 2 days and 4 hours instead of something like 4000 hours. Another thing included in the video is a tour of some of my code. Let me know if you have any feedback.
I did quite a few things during this 6 hours. First off, I moved the countdown to the top, andit sticks to the top. Secondly, I added a timeline to visually see each launch. The timeline I used is called JSTimrline which ises a spreadsheet you can embed to add a timeline. They also leave the option for you to create a JSON file ehich gives you more styling options. But I didn’t opt into that. Last thing, I’m leaarning how to use api’s. What you can see in the console is the bio for Cristina Koch provided by Launch Library II. I plan to create a bio for eaach of these astronauts only using the api, if the contents of the api change the web page should change automatically. Although I’m limited to 15 requests per hour which is annoying.
Quite afew things have been added since my first devlog. So far I’ve worked a little bit on responsive design to make it more viewable on mobile. I also created a little bubble menu which allows you to transition between Hubs. I created a moon basepage which will provide centralized infirmation on our moon base plans specifically. I’m currently inn the process of implementing some of the simulations NASA created within my website through embedding.
During this time, I have embedded two NASA simulations into the website for visualization. You can fine them by going to the Artemis II page and going to the moon base page under “Explore”. I also embedded some YouTube videos to #1 let people understand the idea of the Artemis Program and CLPS who aren’t familiar, and #2 you don’t have to search for multiple YouTube videos potentially on different channels. They all are here. And honestly, when you’re navigating a website, it’s more convenient to watch an embedded video than navigate to YouTube. The last thing I worked on a little bit was making the moon base section more mobile responsive. Still looks a little off, but better than it was before.
Hello It’s been a little while since my last devlog but I plan to make them more frequently. This is my first log sincemy first shipment and Ive been spending thelasst 5 hours trying to implement the feedback I got. 1. Someone said it would be nice to see some facts about the astronauts, so I did something like that. I made an array that displays a random fact about the missions every time the page loads. This one took me a while to do because I was running into an issue where the Artemis I facts would display but not the subsequent ones. I went onto Stack Overflow and problem is resolved. 2. Someone said it would be nice to read texts about the missions rather thaan rely on videos because some people have different preferences for how they learn information. So what I did is created a series of dropdowns on the very bottom that tells you information aout the mission. I chose a dropdown format so they dont take up as much space on the page if its not being read.
Artemis II Page Update! Devlog Formatting This is the first devlog that’s formatted nicely, I’ve been writing them on my phone and for some reason it doesn’t format there at all just displays as a large paragraph. But I’m writing this one on a computer allowing me to format paragraphs and headings. Artemis II page I’ve been working on the Artemis II page, I’m not quite finished but got the history of it and the preperations which explains the stacking timeline and the heatshield issue. Artemis I Timeline I added a timeline to the Artemis I page which you can see in the demo link. It shows major events that happened from stacking to reentry. Another thing I did was update the status of Artemis III below that countdown banner.
Completed Artemis II page Completed the Artemis II page where I explained the flight profile, preparations, and its full flight timeline.
Made some progress on my Artemis website! Below is the changelog, but the highlight I have to share is the addition of a “Blogs” page that organizes blogs into rows. These blogs will be more detailed Artemis Updates. It’s the first blog structure I’ve done, so wanted to try it out. I also moved the left navigation bubble content to a bottom navigation bar. Removed Removed the bubble navbar on left side (Got moved to newely added bottom navbar) Added Bottom navigation bar Blog Page First Artemis Blog I would encourage you to look around the repository because I made some additions to it. I added badges at the top of the README file to neatly display some information about the website such as its version, programming languages, etc. Also added a CHANGELOG.md file so you can read every single change I’ve made to this website and read any future updates that are released. Created a Discussions tab at Top menu bar > Discussions so I can make announcements and updates about this project.
Ships:
My project is called Artemis Hub, a static website that provides centralized information about the Artemis Program while showing our progress in building a moon base. It prevents people from navigating to multiple YouTube videos or the entire NASA site (I Frequently have to make multiple clicks to navigate that massive site), and just provides all that information on one page. Even to read information about Artemis II on the NASA site, you still have to view more than one page. So that’s the problem this project solves. To me the most challenging part of it was UI design, that’s what I spent most of my time on. I’m not very good at UI design, so this project allowed me to experiment with UI and I’m getting an idea of what works, doesn’t or what could be done better which will help me in future projects. I’ve also learned how to create a JavaScript countdown timer. For those testing the project, I am still working on responsive design, the site is navigable on mobile devices, but it’s a work in progress. This isn’t the final site, I still have more to do, but I’m doing a in-progress shipment. One thing I am proud of is getting the JavaScript countdown working, and the horizontal carousels made. I was too lazy to figure out how to make a carousel in JavaScript so I just used CSS to position each card and style the trackbar. I wasn’t sure if it was going to work, but it did.
This is my final ship for this project, I would encourage you to read my last shipment as I go in more detail of what the project is about. Basically, I built a central website hub that provides information on the Artemis Program. You can find certain information on my website within a few clicks what takes 4-8 clicks on the NASA website. Between the first ship to this one, I’ve mainly just been implementing some feedback I got from the first ship such as adding more text information in case someone doesn’t want to watch the videos, and adding random facts about the astronauts. I added dropdowns which display text which you can click to show, I made them drop down just to save space in the screen if it’s not being used. What took me a bit of time though was adding a script that would provide random information about each Artemis mission every time the page is loaded. That part took a little bit because I was running into an issue where facts for Artemis II would show but not Artemis III, it all had to do with text above overriding the text below. I just resolved this issue by adding the Arrays to the individual HTML files as they just shared the main.js file before....
|
1793112722.0455294
|
1793199122.0455294
|
|
7225
|
Universe Data Booklet by @S_U_Wasi | Stardance
|
S_U_Wasi
|
2
|
26.88
|
216
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T19:37:05Z", "hours": 7.0, "multiplier": 9.05, "payout": 62, "blessing": "neutral", "text": "What I have built is known as Universe Data Booklet. As it’s name suggest it is a website which contains data on exoplanets and near earth asteroids. Previously it contains only data and analysis. But currently (After recent updates) there are many more features. To know about all the features please read my devlog or directly visit the website. While shipping this right now, I currently have many new ideas to add in this and I will definitely add those in future (Means coming soon). I cannot make Universe Data Booklet in one day or a week. I need time to create it. My vision regarding this project is very wide. I want that my project will help both learners and curious minds. During the development of this project I got into a problem. For latest near earth asteroids, I must have to use API. But I cannot put API on a completely open source project. That is why I have used public API. But public api has data fetch limits. Since the project is in it’s early state, not many users will visit. but I was thinking about future. That is why I came up with an idea, where I will use the Public API but it will never hit the limit (The smart caching). In my new development structure, the site will fetch data only once in 30 days (Data is fetched on the first visit after 30 days). Then that data is saved as cache and all other users get data from that one cache. By doing this data is fetched only once even if thousands of users visit at once. This solves the rate limit. but I need the latest data (at least 30 days). That is why the site fetch data once after 30 day. The program check the cache folder and if the data there is older than 30 days then the site fetches new data on the first visit and saves it. Now another storage problem arise. To solve that my site was programmed in such a way that it will store cache for 90 days and any cache data with are older than 90 days will be deleted. Thus I have solved the issue regarding the near Earth asteroids. I uses public api for near earth asteroids (Because asteroids data get change quickly). I uses csv file for exoplanets data (It is a manually saved data from authentic source) Thank You for giving Universe Data Booklet a try.", "repo": "https://github.com/MDSUWasi/Universe-Data-Booklet", "demo": "https://wasi100.pythonanywhere.com/"}, {"ship_num": 2, "ts": "2026-06-20T18:56:29Z", "hours": 11.0, "multiplier": 13.38, "payout": 154, "blessing": "neutral", "text": "Here is my Universe Data Booklet. As the mane suggest, this is a site which contains data about exoplanets and asteroids. Asteroids: Here I have used real asteroids data (Which is obtained through API ). Currently it contains data about asteroid which is near to our planet (Earth) Exoplanets: Exoplanets data is added manually inside the source code. So, exoplanets data can be viewed without any need of API. I have used API in asteroids but not in exoplanets because asteroids moves and changes around the Earth. And I want to work on current data. But exoplantes doesn’t change for a long time. So, there is no need of live API for that. There is a chart view in my site which shows the chat comparison between exoplanets/ asteroids mass. I have used public free API (I know about the limitations). I have solved that problem too. My site will only fetch data once in 30 days and saved it in cache. And through out the month the site will use that cache data. And again gives an API call after 31 days. Means, there will be only API call but many users can use my site. This also brings storage issue in my site. I have also fixed that. The cache data which are older than 90 days will be automatically removed. That’s all for now. I am also thinking for future update in this site too. Thank You.", "repo": "https://github.com/MDSUWasi/Universe-Data-Booklet", "demo": "https://wasi100.pythonanywhere.com/"}]...
|
[{"post_id": 78904, "ts": "202 [{"post_id": 78904, "ts": "2026-10-12T00:13:01Z", "hours": 1.5658, "text": "Another night-day another Problem . Yesterday I went to the source code to add a new theme and structure in Universe Data Booklet. Then I saw a bug in by server.py (backend). But I thought that I will just fix it after working on the theme. Then I worked on theme. Then during test time, I saw something scary (I will not tell what was that). Then I started fixing the theme, that caused bugs of js and css and them what! I never thought this would cause this much trouble. After some time, There was multiple tabs and tasks running into my PC (And which goes heavy on RAM). And What after My Virtual Development Environment got crashed and corrupt. And from night 11 AM to still now (6 AM) I am still fixing my environment otherwise all of my effort will be gone (I will lost my entire new source code)."}, {"post_id": 77832, "ts": "2026-10-08T13:27:04Z", "hours": 1.4394, "text": "New member I am glade to welcome Solar System as the new member on Universe Data Booklet . New Update! Now Universe Data Booklet have data on Planets, Exoplanets, Asteroids and Satellites (Including the artificial one). Now Universe Data Booklet can show image. But this feature is limited. I am thinking to thinking to increase (Just thinking for now) The above listed updates are just announcement for now. I haven’t released them yet, but going to in next few days. Since I took help from AI, I need to edit, debug and make some changes including reviewing and reviewing the code before releasing. Thank You"}, {"post_id": 77090, "ts": "2026-10-05T16:53:14Z", "hours": 0.9247, "text": "Upcoming Update Announcement In the next update there are huge changes coming. Some of them are shown below. A detailed description on exoplanets and asteroids: Now users can see a very detailed graphical data. This is because I have increased the number of data source. I have decreased the data fetch limit from 30 days to 7 days. So, starting from next release, all data provided in Universe Data Booklet will be re-new on the very first visit of each week unless there any issue pop up. Next work will be on Images for exoplanets and asteroids. This might be a tricky part because there are a lots of data and images for every data might be a problem. Let me check first. This is a new implementation idea I just thought. I will add this feature if I can successfully manage to find a way to add real images without disturbing the functionality and smoothness. All the thing I have mentioned above (except point 3) have been already implemented. I just have to review the source code twice again before release. Point 3 is on the way of implementation but not confirmed whether be released or not. If everything goes will. I will release this After my Exam is over. Thank You"}, {"post_id": 65478, "ts": "2026-09-10T17:09:51Z", "hours": 2.3808, "text": "Update Universe Data Booklet got a new update. And the updated version is currently online . On the previous version there are some typing errors and inconsistencies in the code, page and README. That is why I have revised and fix those. Now, I think user can relate the main page with the README. For new features. There 2 new features currently online. One is a game and another is a assistant. But both of those feature needs huge update soon. Currently I the game is 2D and Have no visual. The assistant currently cannot understand natural language. In the recent version the assistant can only answer if the name of asteroid or exoplanet available in the data are written as it is. And Currently I have no intention on adding LLM in it. My Future Plan for Universe Data Booklet I will design the assistant such a way that it will catch keywords on prompt and answer based on those keyword. The current Habitability Scanner is just like normal search and it doesn’t show much data on habitability (But it wasn’t made for that). I am thinking to work on this and will try to add more data. Since it is data booklet type. I think the current version have too much basic data. That is why I am thinking to add more data source and combine everything together. I am also thinking about a Wiki for Universe Data Booklet. After all those work. I think I will take some break from backend and frontend coding and work on Graphics (For game part, and icon). I also want to change it from 2D to 3D. Some new or updated idea may spark during the work on above. So, everything is changeable."}, {"post_id": 59722, "ts": "2026-09-01T17:22:43Z", "hours": 2.5711, "text": "I think I am going to ship Universe Data Booklet 3rd Time. Universe Data Booklet (UDB) is now on version 10.0.0.0.0 (It is also the second ship). From the first day of to now, UDB has improved a lot. Initially it was suppose to only display raw data in a graphical window. But as time passed new idea came to my mind and I add those in it. Currently UDB has many feature and I am going to add some more and make my 3rd ship of UDB before 30 September (Because I want to release it during ongoing Stardance). Overview on upcomming new updates: Changes on existing features. A universe explore game A Chat Bot (Used as alternative of search feature). Currently I am working on above 3. I may also add some more new feature if any new idea arrive."}, {"post_id": 44164, "ts": "2026-08-09T18:55:38Z", "hours": 0.9736, "text": "Today. I am going (I already have deployed. Go and check out if you want) to deploy the version 10.0.0.0.0 of Universe Data Booklet on Web and The first stable release. Currently Universe Data Booklet Have 3D Solar System Near Earth Asteroid View 3D Galactic exoplanet view 3D Map view Graph analysis (Difference of mass in bar diagram) Quiz Mode Flash Cards Guess Mode Research Mode I have updated the data row (Currently those are click-able) 4 different theme in 2 different structure. For more info see the README in the source code"}, {"post_id": 42726, "ts": "2026-08-07T16:20:15Z", "hours": 2.8481, "text": "Some new changes: Now, 3D vies have 2 different modes for exoplanets (A galaxy like simulation) and Asteroids (The solar system type simulation. Solar system because all data on asteroids are present for near Earth asteroids). Now, Universe Data Booklet have study (Flashcards, Quiz, Compare etc.) and research section (Specific details key point study). There are more updates. To see all of them and Try please wait until 10 August (I will deploy the site and Update it that day.). But the source is available in the repository. Those who are interested can give it a try directly from source code (But the source code is in early state and un-stable. So, I can not guarantee anything )."}, {"post_id": 41796, "ts": "2026-08-06T06:41:55Z", "hours": 1.5689, "text": "New Announcement: According to previous reviews and my own updates I have upgraded the Universe Data Booklet. New updates include: Now, users can download the data in good formate as PDF. There is new 3D view included. A new map included to get a visual map for both asteroids and exoplanets. A little bit change to chart view. Now, user can see the charts, 3D view and Map as a pop up (This was a issue in previous ship, and thanks to the reviews that I can fix them) Now the data row is click-able for selective view. There is a search bar for searching the exact asteroid and exoplanet by name The good thing is, user do not have to remember the full name for asteroids and exoplanets, only a partial correct name is enough New Features are currently written and available in the GitHub repository. I haven’t deployed those yet. Because I have some checking left (Including security and deployment issues). That is why the current site is not updated yet. I will deploy and release the update on 10 August 2026."}, {"post_id": 35261, "ts": "2026-07-26T15:46:56Z", "hours": 1.4956, "text": "I have upgraded the CSS, some of HTML (To introduce Hamburger) and some of JS. Initially I thought to give it a color matching with my portfolio, but that color doesn’t look good on it. That is why I used the current one (I have seen several other sites on this same color and I liked this)."}, {"post_id": 12689, "ts": "2026-06-20T18:44:22Z", "hours": 0.7319, "text": "I have added data about exoplanets (saved locally) and asteroids (data achieved using API). Additional to those, there is a graph view for asteroids and exoplanets, where, along x-axis there is exoplanets/ asteroids name and along y-axis there is the mass."}, {"post_id": 12400, "ts": "2026-06-20T07:20:52Z", "hours": 2.1811, "text": "Interface of my data booklet is ready."}, {"post_id": 5442, "ts": "2026-06-09T06:41:44Z", "hours": 4.4633, "text": "Previously I was thinking about making a universe data booklet with 20% universe data. But now I am thinking about increasing that limit."}, {"post_id": 3397, "ts": "2026-06-06T09:45:13Z", "hours": 4.1061, "text": "I am developing a universe Data Booklet for our Galaxy (up to a certain limit)"}]...
|
Title: Universe Data Booklet by @S_U_Wasi | Starda Title: Universe Data Booklet by @S_U_Wasi | Stardance
Devlogs:
I am developing a universe Data Booklet for our Galaxy (up to a certain limit)
Previously I was thinking about making a universe data booklet with 20% universe data. But now I am thinking about increasing that limit.
Interface of my data booklet is ready.
I have added data about exoplanets (saved locally) and asteroids (data achieved using API). Additional to those, there is a graph view for asteroids and exoplanets, where, along x-axis there is exoplanets/ asteroids name and along y-axis there is the mass.
I have upgraded the CSS, some of HTML (To introduce Hamburger) and some of JS. Initially I thought to give it a color matching with my portfolio, but that color doesn’t look good on it. That is why I used the current one (I have seen several other sites on this same color and I liked this).
New Announcement: According to previous reviews and my own updates I have upgraded the Universe Data Booklet. New updates include: Now, users can download the data in good formate as PDF. There is new 3D view included. A new map included to get a visual map for both asteroids and exoplanets. A little bit change to chart view. Now, user can see the charts, 3D view and Map as a pop up (This was a issue in previous ship, and thanks to the reviews that I can fix them) Now the data row is click-able for selective view. There is a search bar for searching the exact asteroid and exoplanet by name The good thing is, user do not have to remember the full name for asteroids and exoplanets, only a partial correct name is enough New Features are currently written and available in the GitHub repository. I haven’t deployed those yet. Because I have some checking left (Including security and deployment issues). That is why the current site is not updated yet. I will deploy and release the update on 10 August 2026.
Some new changes: Now, 3D vies have 2 different modes for exoplanets (A galaxy like simulation) and Asteroids (The solar system type simulation. Solar system because all data on asteroids are present for near Earth asteroids). Now, Universe Data Booklet have study (Flashcards, Quiz, Compare etc.) and research section (Specific details key point study). There are more updates. To see all of them and Try please wait until 10 August (I will deploy the site and Update it that day.). But the source is available in the repository. Those who are interested can give it a try directly from source code (But the source code is in early state and un-stable. So, I can not guarantee anything ).
Today. I am going (I already have deployed. Go and check out if you want) to deploy the version 10.0.0.0.0 of Universe Data Booklet on Web and The first stable release. Currently Universe Data Booklet Have 3D Solar System Near Earth Asteroid View 3D Galactic exoplanet view 3D Map view Graph analysis (Difference of mass in bar diagram) Quiz Mode Flash Cards Guess Mode Research Mode I have updated the data row (Currently those are click-able) 4 different theme in 2 different structure. For more info see the README in the source code
I think I am going to ship Universe Data Booklet 3rd Time. Universe Data Booklet (UDB) is now on version 10.0.0.0.0 (It is also the second ship). From the first day of to now, UDB has improved a lot. Initially it was suppose to only display raw data in a graphical window. But as time passed new idea came to my mind and I add those in it. Currently UDB has many feature and I am going to add some more and make my 3rd ship of UDB before 30 September (Because I want to release it during ongoing Stardance). Overview on upcomming new updates: Changes on existing features. A universe explore game A Chat Bot (Used as alternative of search feature). Currently I am working on above 3. I may also add some more new feature if any new idea arrive.
Update Universe Data Booklet got a new update. And the updated version is currently online . On the previous version there are some typing errors and inconsistencies in the code, page and README. That is why I have revised and fix those. Now, I think user can relate the main page with the README. For new features. There 2 new features currently online. One is a game and another is a assistant. But both of those feature needs huge update soon. Currently I the game is 2D and Have no visual. The assistant currently cannot understand natural language. In the recent version the assistant can only answer if the name of asteroid or exoplanet available in the data are written as it is. And Currently I have no intention on adding LLM in it. My Future Plan for Universe Data Booklet I will design the assistant such a way that it will catch keywords on prompt and answer based on those keyword. The current Habitability Scanner is just like normal search and it doesn’t show much data on habitability (But it wasn’t made for that). I am thinking to work on this and will try to add more data. Since it is data booklet type. I think the current version have too much basic data. That is why I am thinking to add more data source and combine everything together. I am also thinking about a Wiki for Universe Data Booklet. After all those work. I think I will take some break from backend and frontend coding and work on Graphics (For game part, and icon). I also want to change it from 2D to 3D. Some new or updated idea may spark during the work on above. So, everything is changeable.
Upcoming Update Announcement In the next update there are huge changes coming. Some of them are shown below. A detailed description on exoplanets and asteroids: Now users can see a very detailed graphical data. This is because I have increased the number of data source. I have decreased the data fetch limit from 30 days to 7 days. So, starting from next release, all data provided in Universe Data Booklet will be re-new on the very first visit of each week unless there any issue pop up. Next work will be on Images for exoplanets and asteroids. This might be a tricky part because there are a lots of data and images for every data might be a problem. Let me check first. This is a new implementation idea I just thought. I will add this feature if I can successfully manage to find a way to add real images without disturbing the functionality and smoothness. All the thing I have mentioned above (except point 3) have been already implemented. I just have to review the source code twice again before release. Point 3 is on the way of implementation but not confirmed whether be released or not. If everything goes will. I will release this After my Exam is over. Thank You
New member I am glade to welcome Solar System as the new member on Universe Data Booklet . New Update! Now Universe Data Booklet have data on Planets, Exoplanets, Asteroids and Satellites (Including the artificial one). Now Universe Data Booklet can show image. But this feature is limited. I am thinking to thinking to increase (Just thinking for now) The above listed updates are just announcement for now. I haven’t released them yet, but going to in next few days. Since I took help from AI, I need to edit, debug and make some changes including reviewing and reviewing the code before releasing. Thank You
Another night-day another Problem . Yesterday I went to the source code to add a new theme and structure in Universe Data Booklet. Then I saw a bug in by server.py (backend). But I thought that I will just fix it after working on the theme. Then I worked on theme. Then during test time, I saw something scary (I will not tell what was that). Then I started fixing the theme, that caused bugs of js and css and them what! I never thought this would cause this much trouble. After some time, There was multiple tabs and tasks running into my PC (And which goes heavy on RAM). And What after My Virtual Development Environment got crashed and corrupt. And from night 11 AM to still now (6 AM) I am still fixing my environment otherwise all of my effort will be gone (I will lost my entire new source code).
Ships:
Here is my Universe Data Booklet. As the mane suggest, this is a site which contains data about exoplanets and asteroids. Asteroids: Here I have used real asteroids data (Which is obtained through API ). Currently it contains data about asteroid which is near to our planet (Earth) Exoplanets: Exoplanets data is added manually inside the source code. So, exoplanets data can be viewed without any need of API. I have used API in asteroids but not in exoplanets because asteroids moves and changes around the Earth. And I want to work on current data. But exoplantes doesn’t change for a long time. So, there is no need of live API for that. There is a chart view in my site which shows the chat comparison between exoplanets/ asteroids mass. I have used public free API (I know about the limitations). I have solved that problem too. My site will only fetch data once in 30 days and saved it in cache. And through out the month the site will use that cache data. And again gives an API call after 31 days. Means, there will be only API call but many users can use my site. This also brings storage issue in my site. I have also fixed that. The cache data which are older than 90 days will be automatically removed. That’s all for now. I am also thinking for future update in this site too. Thank You.
What I have built is known as Universe Data Booklet. As it’s name suggest it is a website which contains data on exoplanets and near earth asteroids. Previously it contains only data and analysis. But currently (After recent updates) there are many more features. To know about all the features please read my devlog or directly visit the website. While shipping this right now, I currently have many new ideas to add in this and I will definitely add those in future (Means coming soon). I cannot make Universe Data Booklet in one day or a week. I need time to create it. My vision regarding this project is very wide. I want that my project will help both learners and curious minds. During the development of this project I got into a problem. For latest near earth asteroids, I must have to use API. But I cannot put API on a completely open source project. That is why I have used public API. But public api has data fetch limits. Since the project is in it’s early state, not many users will visit. but I was thinking about future. That is why I came up with an idea, where I will use the Public API but it will never hit the limit (The smart caching). In my new development structure, the site will fetch data only once in 30 days (Data is fetched on the first visit after 30 days). Then that data is saved as cache and all other users get data from that one cache. By doing this data is fetched only once even if thousands of users visit at once. This solves the rate limit. but I need the latest data (at least 30 days). That is why the site fetch data once after 30 day. The program check the cache folder and if the data there is older than 30 days then the site fetches new data on the first visit and saves it. Now another storage problem arise. To solve that my site was programmed in such a way that it will store cache for 90 days and any cache data with are older than 90 days will be deleted. Thus I have solved the issue regarding the near Earth asteroids. I uses public api for near earth asteroids (Because asteroids data get change quickly). I uses csv file for exoplanets data (It is a manually saved data from authentic source) Thank You for giving Universe Data Booklet a try....
|
1793141540.050979
|
1793227940.050979
|
|
69236
|
Student Intelligence by @defnotafunction | Stardan Student Intelligence by @defnotafunction | Stardance...
|
defnotafunction
|
0
|
0.59
|
0
|
[]
|
[{"post_id": 78900, "ts": "202 [{"post_id": 78900, "ts": "2026-10-11T23:21:28Z", "hours": 0.5908, "text": "Created a file dedicated to my app’s functionality related to ML."}]...
|
Title: Student Intelligence by @defnotafunction | Title: Student Intelligence by @defnotafunction | Stardance
Devlogs:
Created a file dedicated to my app’s functionality related to ML....
|
1793130792.6803868
|
1793735592.6803868
|
|
68113
|
CompatPy by @Oluxid | Stardance
|
Oluxid
|
0
|
16.08
|
0
|
[]
|
[{"post_id": 78898, "ts": "202 [{"post_id": 78898, "ts": "2026-10-11T23:04:28Z", "hours": 6.0397, "text": "bro… its too much to list but i released 26.10.3 by now… you can look at CHANGELOG.md"}, {"post_id": 77970, "ts": "2026-10-09T01:57:10Z", "hours": 2.8636, "text": "its 4am… i have been coding for a while now… my brain is fryed… i fixed 3 problems on my roadmap… and we just hit the 1K lines of code on lib.rs🥳🥳"}, {"post_id": 77928, "ts": "2026-10-08T20:15:10Z", "hours": 0.3858, "text": "CompatPy FIRST RELEASE!! i just released the first version of CompatPy. its available as a crate on crates.io and as a standalone Windows binary. for later versions i will make an .msi installer for windows so you will just be able to run “compatpy {project path}” instead of the headless binary but for now we gotta do it like this… ANYWAY YAAAYY🥳🥳"}, {"post_id": 77772, "ts": "2026-10-08T07:18:33Z", "hours": 4.4372, "text": "devlog #3 – we’re actually checking compatibility now CompatPy is starting to become an actual compatibility checker it can now scan a project, find its dependencies, look them up on PyPI , select the mathing package release, check its python requirements and then calculate which python versions work for the dependencies so instead of just pasting package versions and quitting it now actually pastes the compatible python versions over all packages like shown in the screenshot even though im on track there’s still plenty to build before this becomes a proper finished tool, but the core compatibility pipeline is now working"}, {"post_id": 77563, "ts": "2026-10-07T14:22:59Z", "hours": 1.2072, "text": "devlog#2 – version and installed state i just added the versions to detection so we can start working on PyPi compatibility checks"}, {"post_id": 77060, "ts": "2026-10-05T15:03:47Z", "hours": 1.1506, "text": "i made an basic dependency detection, i will still need to make version and compatibility stuff"}]...
|
Title: CompatPy by @Oluxid | Stardance
Devlogs:
i Title: CompatPy by @Oluxid | Stardance
Devlogs:
i made an basic dependency detection, i will still need to make version and compatibility stuff
devlog#2 – version and installed state i just added the versions to detection so we can start working on PyPi compatibility checks
devlog #3 – we’re actually checking compatibility now CompatPy is starting to become an actual compatibility checker it can now scan a project, find its dependencies, look them up on PyPI , select the mathing package release, check its python requirements and then calculate which python versions work for the dependencies so instead of just pasting package versions and quitting it now actually pastes the compatible python versions over all packages like shown in the screenshot even though im on track there’s still plenty to build before this becomes a proper finished tool, but the core compatibility pipeline is now working
CompatPy FIRST RELEASE!! i just released the first version of CompatPy. its available as a crate on crates.io and as a standalone Windows binary. for later versions i will make an .msi installer for windows so you will just be able to run “compatpy {project path}” instead of the headless binary but for now we gotta do it like this… ANYWAY YAAAYY🥳🥳
its 4am… i have been coding for a while now… my brain is fryed… i fixed 3 problems on my roadmap… and we just hit the 1K lines of code on lib.rs🥳🥳
bro… its too much to list but i released 26.10.3 by now… you can look at CHANGELOG.md...
|
1793116481.7804787
|
1793721281.7804787
|
|
68902
|
Calculator by @Yare | Stardance
|
Yare
|
1
|
3.0
|
3
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T22:45:11Z", "hours": 3.0, "multiplier": 1.12, "payout": 3, "blessing": "neutral", "text": "I made a calculator for the first time using mostly HTML, CSS, and JavaScript. While I do have past experience using HTML and CSS, I am not too familiar with JavaScript so defining the buttons was harder than it should have been.", "repo": "https://github.com/Yare746/Calculator-2", "demo": "https://yare746.github.io/Calculator-2/"}]...
|
[{"post_id": 78892, "ts": "202 [{"post_id": 78892, "ts": "2026-10-11T22:13:51Z", "hours": 1.1822, "text": "After the whole incident last time I tried to redeem myself making a better calculator-like layout for my buttons and defined them . I also made the text that appeared at the top to show itself in a way that it seems as if someone is typing it in, and used the setTimeout to get rid of the letters after 20 seconds giving someone time to read it before it disappears. I at first wanted to make the numbers that appear in the display box or the intro sentences to have the same color animation as the buttons or the border of the display box but ultimately just chose to give it a text-shadow to make both pop out more. I kind of wanted to add a little bit of more interactive affects, but I may just submit it now and wait for feedback."}, {"post_id": 78636, "ts": "2026-10-11T04:25:16Z", "hours": 0.4519, "text": "Soo, I have to admit that there were a few bumps. I thought that I was having trouble syncing the commits from VS Code to the GitHub Platform and spent the majority of my time trying to figure out what was wrong. It turns out that I was looking at the wrong repository for GitHub and everything was working perfectly. While it may say I spent 27 minutes coding, I spent maybe an hour debugging and going back and forth between the two platforms. : I"}, {"post_id": 78255, "ts": "2026-10-10T05:07:04Z", "hours": 1.3086, "text": "This is the very first time I am making a calculator so please stand by. I wanted to make one that wasn’t so bland so I used the @keyframes to make the animation for the borders of the buttons and display box. I still haven’t had the buttons defined yet in JavaScript so I will work on that tomorrow as well as some animation changes to the dialogue that is above the display box of the calculator. I don’t know what else to add to this project , but I will try to brainstorm for anything unique that I can add for now."}]...
|
Title: Calculator by @Yare | Stardance
Devlogs:
T Title: Calculator by @Yare | Stardance
Devlogs:
This is the very first time I am making a calculator so please stand by. I wanted to make one that wasn’t so bland so I used the @keyframes to make the animation for the borders of the buttons and display box. I still haven’t had the buttons defined yet in JavaScript so I will work on that tomorrow as well as some animation changes to the dialogue that is above the display box of the calculator. I don’t know what else to add to this project , but I will try to brainstorm for anything unique that I can add for now.
Soo, I have to admit that there were a few bumps. I thought that I was having trouble syncing the commits from VS Code to the GitHub Platform and spent the majority of my time trying to figure out what was wrong. It turns out that I was looking at the wrong repository for GitHub and everything was working perfectly. While it may say I spent 27 minutes coding, I spent maybe an hour debugging and going back and forth between the two platforms. : I
After the whole incident last time I tried to redeem myself making a better calculator-like layout for my buttons and defined them . I also made the text that appeared at the top to show itself in a way that it seems as if someone is typing it in, and used the setTimeout to get rid of the letters after 20 seconds giving someone time to read it before it disappears. I at first wanted to make the numbers that appear in the display box or the intro sentences to have the same color animation as the buttons or the border of the display box but ultimately just chose to give it a text-shadow to make both pop out more. I kind of wanted to add a little bit of more interactive affects, but I may just submit it now and wait for feedback.
Ships:
I made a calculator for the first time using mostly HTML, CSS, and JavaScript. While I do have past experience using HTML and CSS, I am not too familiar with JavaScript so defining the buttons was harder than it should have been....
|
1793217312.0132806
|
1793303712.0132806
|
|
60766
|
mern by @Sukuna | Stardance
|
Sukuna
|
0
|
13.0
|
0
|
[]
|
[{"post_id": 78889, "ts": "202 [{"post_id": 78889, "ts": "2026-10-11T21:47:28Z", "hours": 9.5328, "text": "Complted"}, {"post_id": 65513, "ts": "2026-09-10T18:23:50Z", "hours": 3.4633, "text": "working on the mern learning fullstack development"}]...
|
Title: mern by @Sukuna | Stardance
Devlogs:
worki Title: mern by @Sukuna | Stardance
Devlogs:
working on the mern learning fullstack development
Complted...
|
1793037013.9438648
|
1793641813.9438648
|
|
67307
|
Suckless chip-8 emu by @nano | Stardance
|
nano
|
1
|
12.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-23T02:18:56Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A suckless complete CHIP-8 emulator written in C! What is in it? All instructions the original CHIP-8 architecture supported Graphical output to the terminal using (my beloved) ncurses Loading .ch8 roms Error handling with stderr What am I proud of? I am really proud of the optimizations i did for the project after pretty much finishing it. I am also proud of the way i implemented the keyboard (which was really hard) and the way it turned out. I am also proud of the error handling because it helped me level up in my overall knowledge in knowing how to handle errors. How is it built? It’s built in C using ncurses, following the suckless philosophy (optimized and only one source file) and most of the suckless style guide. There is a precompiled binary that was built with GitHub workflows using Ubuntu. The binary can be directly downloaded from the repo’s release page and can be used on (most) glibc-based Linux distros (build is compiled for Ubuntu and ncurses-v6 has to be installed on your system, original project was made with NixOS, which will also work). What I learned I learned how CPU’s operate (fetch, decode, execute), i learned about opcodes and parsing and i learned using bitwise operators effectively. It also taught me the importance of hexadecimal in programming. The project overall brought me closer to CompEng and how CPU’s work on a rudimentary level. It also taught me (as said) how to handle errors better and i think because of trying to make the project as suckless as possible the project also made me an overall better programmer. Known limitations / plans for the future Bugs can occur, even though no error that isn’t being handled by the program itself has been recorded. Still look out for bugs and if any are found write it to me as feedback please. As this project is a full emulator for CHIP-8 there isn’t that much to be done anymore which i am really proud of :) Closing word This project was pretty fun to make and it taught me a bunch. It is also my final project for Stardance which is a bit sad but i don’t/didn’t have enough time to start a new project which is why i will stop with this. Still i loved Stardance and it brought me closer to CE/SE than i would ever think i would get (before hearing of Stardance i wasn’t really fond of coding). To anyone reading this whole thing: Love y’all :)))", "repo": "https://github.com/skibidi-nano/eight-bit-emu", "demo": "https://github.com/skibidi-nano/eight-bit-emu/releases/tag/v.1.0.0"}]...
|
[{"post_id": 78887, "ts": "202 [{"post_id": 78887, "ts": "2026-10-11T21:37:08Z", "hours": 2.3575, "text": "LOG 5: LAST LOG BEFORE SHIP, MADE THE PROJECT MOSTLY SUCKLESS, REWORKED KEYBOARD, ADDED A DIE FUNCTION, ROMS ARE NOW LOADED VIA TERMINAL, ADDED MACROS, ADDED README FEATURES “SUCKLESS” I made the program (i think) as much compliant to the suckless philosophy as i can and did most of (not all of) the stylistic choices mentioned in the suckless style guide. I think making it suckless majorly improved the program KEYBOARD REWORK Because i decided i wanted to make the project basically suckless i have decided that i needed to rework the keyboard functions. I replaced the keyboard struct with long long keyboard[16]. The index is now the key and the value is the value that key_pressed compares against when the instrcutions are called. key_pressed returns (now - keypad[k]) < ACCEPTABLE_DISTANCE which made the logic way smaller and easier to read. I also replaced the ~ 60 lines key switch statement with a single array that has all the characters of the Chip-8 keyboard and compares it using strchr with the input ch and the difference between the return value of strchr and the positon of keyboard[0] is the index which the current time is written into DIE FUNCTION I added a die function that replaces all early exit functions that would kill the entire program. It gets an input string and other parameters (like printf would get) and print it to stderr. It does this by using varargs. If initscr() has been called it also does endwin() and if not it doesnt (a bool is turned to true after initscr() has been called). Because of this read_rom is now void because every error path calls die instead of returning false. fopen also calls strerror if it fails to display WHY fopen has failed TERMINAL INPUT Previously rom names were hardcoded into the program and had to be changed and recompiled if i wanted to change them. Now the program takes in multiple arguments (2 in total, more or less results in an error after which the proper usage is displayed) and the rom (if found) is copied and executed which makes testing multiple programs way easier. MACROS I removed magic number and replaced them with macros to make the code more readable and theoretically modifiable. README I added a README in the repo that explains pretty much everything that you would need to know before using the program"}, {"post_id": 78821, "ts": "2026-10-11T18:06:34Z", "hours": 2.0475, "text": "LOG 4: KEYBOARD IS FINALLY FUNCTIONAL FOR (hopefully) ALL INSTRUCTIONS!!!! (and some bug fixes) After a long battle with the code i finally figured out how to implement the keyboard without the keys only being picked up every once in a while. HOW DID I DO IT? Previously the keyboard was simple a bool array and if i a button was pressed the corresponding part of the keypad array was turned true. The issue with that was that with this simple implementation there had to be one of 2 mandatory pay-offs: Case A would be that the keys would be sticky and never get turned false, Case B would be that they get reset on every iteration of the main loop which is too fast for instructions 0x9E and 0xA1 in certain programs, as they need the value for multiple iterations. Simply holding down the key was actually too slow because of the way holding down a key works on linux which is why i had to do the following implmentation: Step A: Get the current pressed button, turn it to true and save the time the button was pressed Step B: Get the time distance between when the button was pressed and the current time . Loop through the keyboard array and check for keys that are true If a key is true and if the time distance is larger/equal than/to the threshold (50 ms), turn that key false. Following from this if the distance is smaller or equal to the acceptable distance the key stays true and the loop can work with it. BUG FIXES ISSUE WITH INSTRUCTION 0x8xy6 and 0x8xyE Previously 0x8xy6 and 0x8xyE bitshifted chip.v_reg[x] either « 1 or » 1 which i found out was false after rereading the docs because a test code wasnt working properly. The fix was just to implement the correct instruction (chip.v_reg[x] = chip.v_reg[y] « 1 or the same using » 1)"}, {"post_id": 77934, "ts": "2026-10-08T20:43:38Z", "hours": 3.5236, "text": "LOG 3: ROM LOADER, GRAPHICS ENGINE, KEYBOARD, FONTSET, TEST CODE FOREWORD FEATURES I kinda didnt click post on my last devlog which is why this is a combination of two devlogs but ig this has to suffice ROM LOADER I implemented a rom loader that opens and copies roms (.ch8 files) and then executes their instructions when the program runs. The rom reader opens the file with fopen and reads them into memory using fread once. GRAPHICS ENGINE I use my (beloved) ncurses for graphics and a function is called every cycle to print out the graphics on the 64x32 screen using either # for spots where the graphic display is true and ’ ’ for spots where it isnt KEYBOARD The keyboard uses getch that doesnt stop the loop but rather just listens for input and then sets the keyboard value of the pressed button to true FONTSET The fontset is pretty basic (its just an array of the standard chip-8 fontset that gets loaded into the memory array starting from 0x50) TEST CODE Ive written some very basic test code for testing purposes. Current functions are printing to the screen, setting variables and printing when a button is pressed. I coded the code in hex and used hexed.it to convert the hex code into .ch8 files BUG FIXES Luckily there where no major bugs previously in the code (there wasnt that much to be buggy) but obviously there where issues on the way to the current code. Because i dont remember everything i fixed on the way i wont list it in todays devlog (overall i just list bugs if they where in a previious commited/devlogged version)"}, {"post_id": 76247, "ts": "2026-10-02T20:59:24Z", "hours": 3.0142, "text": "LOG 2: KNOWING WHAT TO DO, IMPLEMENTED ALL INSTRUCTIONS WHAT KIND OF CPU AM I BUILDING? I am building a CHIP-8 CPU emulator in C based on the specifications at http://devernay.free.fr/hacks/chip8/C8TECH10.HTM . CURRENT FEATURES Currently i have implemented all of the regular CHIP-8 instructions that are listed on the source website. They are detected by checking for the specific flags and then execute code based on their variables. There are a total amount of 33 instructions available (normally there are 34 for CHIP-8 but one isn’t used in emulators). Currently the CPU cannot take instructions (will be implemented next probably)"}, {"post_id": 75944, "ts": "2026-10-01T17:50:35Z", "hours": 1.1839, "text": "LOG 1: MY OWN CPU EMULATOR IDEA I want to build my own CPU emulator for either a self built or Chip-8 architecture. Im very unsure which direction i want to go right now but i find the idea really interesting which is why i just started doing it. The project will (probably) be written fully in C and i hope that it will be able to run real programs. I hope the project will give me a better insight into how cpus and computers work in general CURRENT FEATURES Currently the CPU can add values to and jump between register and finally terminate itself. The values that are added/subtracted are set before compilation."}]...
|
Title: Suckless chip-8 emu by @nano | Stardance
D Title: Suckless chip-8 emu by @nano | Stardance
Devlogs:
LOG 1: MY OWN CPU EMULATOR IDEA I want to build my own CPU emulator for either a self built or Chip-8 architecture. Im very unsure which direction i want to go right now but i find the idea really interesting which is why i just started doing it. The project will (probably) be written fully in C and i hope that it will be able to run real programs. I hope the project will give me a better insight into how cpus and computers work in general CURRENT FEATURES Currently the CPU can add values to and jump between register and finally terminate itself. The values that are added/subtracted are set before compilation.
LOG 2: KNOWING WHAT TO DO, IMPLEMENTED ALL INSTRUCTIONS WHAT KIND OF CPU AM I BUILDING? I am building a CHIP-8 CPU emulator in C based on the specifications at http://devernay.free.fr/hacks/chip8/C8TECH10.HTM . CURRENT FEATURES Currently i have implemented all of the regular CHIP-8 instructions that are listed on the source website. They are detected by checking for the specific flags and then execute code based on their variables. There are a total amount of 33 instructions available (normally there are 34 for CHIP-8 but one isn’t used in emulators). Currently the CPU cannot take instructions (will be implemented next probably)
LOG 3: ROM LOADER, GRAPHICS ENGINE, KEYBOARD, FONTSET, TEST CODE FOREWORD FEATURES I kinda didnt click post on my last devlog which is why this is a combination of two devlogs but ig this has to suffice ROM LOADER I implemented a rom loader that opens and copies roms (.ch8 files) and then executes their instructions when the program runs. The rom reader opens the file with fopen and reads them into memory using fread once. GRAPHICS ENGINE I use my (beloved) ncurses for graphics and a function is called every cycle to print out the graphics on the 64x32 screen using either # for spots where the graphic display is true and ’ ’ for spots where it isnt KEYBOARD The keyboard uses getch that doesnt stop the loop but rather just listens for input and then sets the keyboard value of the pressed button to true FONTSET The fontset is pretty basic (its just an array of the standard chip-8 fontset that gets loaded into the memory array starting from 0x50) TEST CODE Ive written some very basic test code for testing purposes. Current functions are printing to the screen, setting variables and printing when a button is pressed. I coded the code in hex and used hexed.it to convert the hex code into .ch8 files BUG FIXES Luckily there where no major bugs previously in the code (there wasnt that much to be buggy) but obviously there where issues on the way to the current code. Because i dont remember everything i fixed on the way i wont list it in todays devlog (overall i just list bugs if they where in a previious commited/devlogged version)
LOG 4: KEYBOARD IS FINALLY FUNCTIONAL FOR (hopefully) ALL INSTRUCTIONS!!!! (and some bug fixes) After a long battle with the code i finally figured out how to implement the keyboard without the keys only being picked up every once in a while. HOW DID I DO IT? Previously the keyboard was simple a bool array and if i a button was pressed the corresponding part of the keypad array was turned true. The issue with that was that with this simple implementation there had to be one of 2 mandatory pay-offs: Case A would be that the keys would be sticky and never get turned false, Case B would be that they get reset on every iteration of the main loop which is too fast for instructions 0x9E and 0xA1 in certain programs, as they need the value for multiple iterations. Simply holding down the key was actually too slow because of the way holding down a key works on linux which is why i had to do the following implmentation: Step A: Get the current pressed button, turn it to true and save the time the button was pressed Step B: Get the time distance between when the button was pressed and the current time . Loop through the keyboard array and check for keys that are true If a key is true and if the time distance is larger/equal than/to the threshold (50 ms), turn that key false. Following from this if the distance is smaller or equal to the acceptable distance the key stays true and the loop can work with it. BUG FIXES ISSUE WITH INSTRUCTION 0x8xy6 and 0x8xyE Previously 0x8xy6 and 0x8xyE bitshifted chip.v_reg[x] either « 1 or » 1 which i found out was false after rereading the docs because a test code wasnt working properly. The fix was just to implement the correct instruction (chip.v_reg[x] = chip.v_reg[y] « 1 or the same using » 1)
LOG 5: LAST LOG BEFORE SHIP, MADE THE PROJECT MOSTLY SUCKLESS, REWORKED KEYBOARD, ADDED A DIE FUNCTION, ROMS ARE NOW LOADED VIA TERMINAL, ADDED MACROS, ADDED README FEATURES “SUCKLESS” I made the program (i think) as much compliant to the suckless philosophy as i can and did most of (not all of) the stylistic choices mentioned in the suckless style guide. I think making it suckless majorly improved the program KEYBOARD REWORK Because i decided i wanted to make the project basically suckless i have decided that i needed to rework the keyboard functions. I replaced the keyboard struct with long long keyboard[16]. The index is now the key and the value is the value that key_pressed compares against when the instrcutions are called. key_pressed returns (now - keypad[k]) < ACCEPTABLE_DISTANCE which made the logic way smaller and easier to read. I also replaced the ~ 60 lines key switch statement with a single array that has all the characters of the Chip-8 keyboard and compares it using strchr with the input ch and the difference between the return value of strchr and the positon of keyboard[0] is the index which the current time is written into DIE FUNCTION I added a die function that replaces all early exit functions that would kill the entire program. It gets an input string and other parameters (like printf would get) and print it to stderr. It does this by using varargs. If initscr() has been called it also does endwin() and if not it doesnt (a bool is turned to true after initscr() has been called). Because of this read_rom is now void because every error path calls die instead of returning false. fopen also calls strerror if it fails to display WHY fopen has failed TERMINAL INPUT Previously rom names were hardcoded into the program and had to be changed and recompiled if i wanted to change them. Now the program takes in multiple arguments (2 in total, more or less results in an error after which the proper usage is displayed) and the rom (if found) is copied and executed which makes testing multiple programs way easier. MACROS I removed magic number and replaced them with macros to make the code more readable and theoretically modifiable. README I added a README in the repo that explains pretty much everything that you would need to know before using the program
Ships:
A suckless complete CHIP-8 emulator written in C! What is in it? All instructions the original CHIP-8 architecture supported Graphical output to the terminal using (my beloved) ncurses Loading .ch8 roms Error handling with stderr What am I proud of? I am really proud of the optimizations i did for the project after pretty much finishing it. I am also proud of the way i implemented the keyboard (which was really hard) and the way it turned out. I am also proud of the error handling because it helped me level up in my overall knowledge in knowing how to handle errors. How is it built? It’s built in C using ncurses, following the suckless philosophy (optimized and only one source file) and most of the suckless style guide. There is a precompiled binary that was built with GitHub workflows using Ubuntu. The binary can be directly downloaded from the repo’s release page and can be used on (most) glibc-based Linux distros (build is compiled for Ubuntu and ncurses-v6 has to be installed on your system, original project was made with NixOS, which will also work). What I learned I learned how CPU’s operate (fetch, decode, execute), i learned about opcodes and parsing and i learned using bitwise operators effectively. It also taught me the importance of hexadecimal in programming. The project overall brought me closer to CompEng and how CPU’s work on a rudimentary level. It also taught me (as said) how to handle errors better and i think because of trying to make the project as suckless as possible the project also made me an overall better programmer. Known limitations / plans for the future Bugs can occur, even though no error that isn’t being handled by the program itself has been recorded. Still look out for bugs and if any are found write it to me as feedback please. As this project is a full emulator for CHIP-8 there isn’t that much to be done anymore which i am really proud of :) Closing word This project was pretty fun to make and it taught me a bunch. It is also my final project for Stardance which is a bit sad but i don’t/didn’t have enough time to start a new project which is why i will stop with this. Still i loved Stardance and it brought me closer to CE/SE than i would ever think i would get (before hearing of Stardance i wasn’t really fond of coding). To anyone reading this whole thing: Love y’all :)))...
|
1793109052.5825129
|
1793195452.5825129
|
|
38798
|
a game for maxime by @yayabskt | Stardance
|
yayabskt
|
1
|
23.68
|
406
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T20:03:24Z", "hours": 23.0, "multiplier": 14.42, "payout": 406, "blessing": "neutral", "text": "i just remake an old game prototype and i make it better at first it was all for a friend brithday then i wanted to improve it !!! i’m proud because it was the first time i make a real game even if it’s not perfect. there one thing that i’m sad for is because i can’t carry on this project because of schools works ect and the problem in my country (france) so i upload all i can do. i hope you will enjoy !!! i put here a part of the github readme before you try playing: “ in the game you play a “maxime” it’s my friend hehehe the input are the arrow key or ZQSD if you have a turet “x” to deploy and click on it to improve if you have a grenade push “a” to throw it if you have a frezze power put “g” to deploy it “ have a good day and enjoy (be kind ) i hope you will apreciate the game <3", "repo": "https://github.com/ysxaybarroso-ux/game-for-a-friend-yaya", "demo": "https://ysxaybarroso-ux.github.io/game-for-a-friend-yaya/aniv%20maxime/static/html/index.html"}]...
|
[{"post_id": 78885, "ts": "202 [{"post_id": 78885, "ts": "2026-10-11T21:21:00Z", "hours": 0.6847, "text": "heyyyy this is the last dev log !!! ============================================================ i post this one because i wasn’t aware i need to go thought a vote for validation and then the vote so since last time i just add the back button for the last menu when you beat the intro and then andle the delete and create a run"}, {"post_id": 78151, "ts": "2026-10-09T19:52:36Z", "hours": 4.8989, "text": "##heyyy dev log 6?? i guess ? : i just work on debuging some problem with the old function that doesn’t take in parameter some of the player new variable for some upgrades and i finish by personnalize the game menu and make gradient slider + button and background of course not everything is in place but it take forms"}, {"post_id": 54480, "ts": "2026-08-25T14:30:06Z", "hours": 6.1694, "text": "dev log # 03 !!!! =============================================== i have finish the cinematic !!! i pass a long long time trying to understand how could i make the caracter by caracter animation and still hanfle me to put pause on the phrase or make the character change speed of talking between word so i finally make list of all the phrase and the word of the dialogue and put the in a list in the list to handle the time!!! ====================================================== btw i also put a redirection to another html page when the animation is finish because i don’t tell it but IT WAS ONLY THE INTRO OF THE GAME hehehehe now it redirect to the menu of the game with the start/new/select/setting/credit button and i already prepare the rest in html but i’m starting the css and js and then i will hide the different menu ================================================ p.s i’m making a quit personal story but all you have to know now is that the main character fall in a world and response bcs people attack him and then he kill a boss that tell i’m he’s free but the main character have to keep fighting ? what does that meen? who know? see next time!!!"}, {"post_id": 43951, "ts": "2026-08-09T12:24:58Z", "hours": 3.4106, "text": "heyyyy it been a long!!! dev log 2!! ========================================================= recently i have been working on the background chaniging depending the enemis to feel it more like a boss!!!! and i also work on adding a neww cinematic in the UNDERTALE style for now it’s quite messy but it will be allright : the cinematic will append when you kill the 2nd boss then you will discover the power of BUILDING THING and then you will have the power to fortify your place and now the game take a top new way now the next step is to make a level menu after this litle intro of 2 boss and a menu to choose level DIFFERENT LEVEL DIFFERENT PLACE TO DEFEND!!! and this will be the same gameplay but with building phase and a litle story !!!!"}, {"post_id": 33814, "ts": "2026-07-24T01:42:56Z", "hours": 8.9861, "text": "first dev log 01 #### today i’m starting this project ##### (in fact i started it a long time ago but i don’t make a project TT) today i’ve had 2 thing 1. ### a funny sound effect in the touret menue 1. if you ran out of money a french ref sound effect apear!2. ### i work on making a new boss 1. (the first one was making impulsion) the second one now shoot bullet##### i take a long time re-organazing the code to implemant the new boss as the function i’ve made wasn’t really optimize or create for future update so i try my best to make it clear**i also encounter a problem as when i try my player was losing hp every time !!!!** i fix it when i understand the function that calculate distance don’t update so the old distance where calculated, i was having negative distance in the terminal while debuging"}]...
|
Title: a game for maxime by @yayabskt | Stardance
Title: a game for maxime by @yayabskt | Stardance
Devlogs:
first dev log 01 #### today i’m starting this project ##### (in fact i started it a long time ago but i don’t make a project TT) today i’ve had 2 thing 1. ### a funny sound effect in the touret menue 1. if you ran out of money a french ref sound effect apear!2. ### i work on making a new boss 1. (the first one was making impulsion) the second one now shoot bullet##### i take a long time re-organazing the code to implemant the new boss as the function i’ve made wasn’t really optimize or create for future update so i try my best to make it clear**i also encounter a problem as when i try my player was losing hp every time !!!!** i fix it when i understand the function that calculate distance don’t update so the old distance where calculated, i was having negative distance in the terminal while debuging
heyyyy it been a long!!! dev log 2!! ========================================================= recently i have been working on the background chaniging depending the enemis to feel it more like a boss!!!! and i also work on adding a neww cinematic in the UNDERTALE style for now it’s quite messy but it will be allright : the cinematic will append when you kill the 2nd boss then you will discover the power of BUILDING THING and then you will have the power to fortify your place and now the game take a top new way now the next step is to make a level menu after this litle intro of 2 boss and a menu to choose level DIFFERENT LEVEL DIFFERENT PLACE TO DEFEND!!! and this will be the same gameplay but with building phase and a litle story !!!!
dev log # 03 !!!! =============================================== i have finish the cinematic !!! i pass a long long time trying to understand how could i make the caracter by caracter animation and still hanfle me to put pause on the phrase or make the character change speed of talking between word so i finally make list of all the phrase and the word of the dialogue and put the in a list in the list to handle the time!!! ====================================================== btw i also put a redirection to another html page when the animation is finish because i don’t tell it but IT WAS ONLY THE INTRO OF THE GAME hehehehe now it redirect to the menu of the game with the start/new/select/setting/credit button and i already prepare the rest in html but i’m starting the css and js and then i will hide the different menu ================================================ p.s i’m making a quit personal story but all you have to know now is that the main character fall in a world and response bcs people attack him and then he kill a boss that tell i’m he’s free but the main character have to keep fighting ? what does that meen? who know? see next time!!!
##heyyy dev log 6?? i guess ? : i just work on debuging some problem with the old function that doesn’t take in parameter some of the player new variable for some upgrades and i finish by personnalize the game menu and make gradient slider + button and background of course not everything is in place but it take forms
heyyyy this is the last dev log !!! ============================================================ i post this one because i wasn’t aware i need to go thought a vote for validation and then the vote so since last time i just add the back button for the last menu when you beat the intro and then andle the delete and create a run
Ships:
i just remake an old game prototype and i make it better at first it was all for a friend brithday then i wanted to improve it !!! i’m proud because it was the first time i make a real game even if it’s not perfect. there one thing that i’m sad for is because i can’t carry on this project because of schools works ect and the problem in my country (france) so i upload all i can do. i hope you will enjoy !!! i put here a part of the github readme before you try playing: “ in the game you play a “maxime” it’s my friend hehehe the input are the arrow key or ZQSD if you have a turet “x” to deploy and click on it to improve if you have a grenade push “a” to throw it if you have a frezze power put “g” to deploy it “ have a good day and enjoy (be kind ) i hope you will apreciate the game <3...
|
1793148494.7042184
|
1793234894.7042184
|
|
14535
|
Issued YSWS by @Acidicts | Stardance
|
Acidicts
|
1
|
91.58
|
1383
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T17:03:11Z", "hours": 89.0, "multiplier": 15.53, "payout": 1383, "blessing": "neutral", "text": "Shipped!!! There are a bunch of features and stuff that I have added to this since flavortown, from the ordering system to devlogs and ship flow. Project Info This is the ruby on rails app for the ysws draft #issued where YS: Designs made with Code WS: Clothes and other swag with those designs Features added: A bunch of features have been added and I have separated them to 3 categories Major ones for functionality, quality of life for feel and use, security for data security. New Major Features: Designs view now is more detailed including hackatime projects and images from devlogs and ships Ship flow system so you can submit to the ysws Product Design system (admin only - for making the shop items by importing from printful via api) Order system using lots of hotwired turbo (choose color, design placement rotation and scale) Notifications (3 types Normal which provides info and 2 others Boolean which gets a yes or no answer and text which gets a written answer Reviewer Panel which shows pending ships to review with some data on (need to add hackatime info for it though) Storing Reviewer proof videos in a cloudflare R2 storage Quality-Of-Life: Added better UI/UX with some issues with need for ironing out (eg font change from workbench to ‘lexend’ and ‘space mono’ Kept a consistent style through the site, although some panels might need better border colour On login it redirects to the page you logged in by Security: I added User DB encryption to protect user data stored on the postgres database instance, such as name and email Summary Made the functional part of the ysws site (Designs, ordering, shipping) Added more security for user data Improved UI(Font and colour scheme)", "repo": "https://github.com/Acidicts/Issued", "demo": "https://issued.bing-bong.uk"}]...
|
[{"post_id": 78879, "ts": "202 [{"post_id": 78879, "ts": "2026-10-11T21:05:08Z", "hours": 2.5772, "text": "I created the fulfilment system for a fulfilment team to use Recent changes Removed redundant save! calls and updated fulfillment tests to reduce unnecessary database operations and align test logic with current behavior 9acc056 . Added a fulfillment role, batch pipeline, and popup controller to support new workflow automation and UI interactions afa7a20 . The popup controller likely handles transient UI elements like notifications or modals. Fixed a crash in /designs preview rendering by resolving an issue blocking Ruby scan/lint CI, ensuring previews no longer fail unexpectedly ( 911f035 ). Corrected a stray question mark in a design preview image tag to prevent malformed HTML output ( 955dd6c ). Added a note about YSWS draft sponsorship documentation, possibly for tracking external partnerships or funding discussions ( d92d571 ). No performance optimizations or subsystem overhauls were addressed in this cycle. Next steps depend on external feedback and test coverage improvements implied by recent test updates."}, {"post_id": 75924, "ts": "2026-10-01T16:48:57Z", "hours": 0.6297, "text": "Deploying on coolify and fixing bugs with that + encrypting current db"}, {"post_id": 75729, "ts": "2026-09-30T21:34:41Z", "hours": 1.0775, "text": "Recent changes - Installed Bundler 4.0.4 in the Dockerfile to standardize gem management across environments ( 88ba659 ). - Ensured the verification directory exists for SVG upload tests, addressing missing file system setup in test workflows ( 83f2e53 ). - Resolved a Turbo conflict in order steps, likely related to event streaming or frame rendering in Rails views ( e8d08f4 ). Updated navigation unread counts dynamically from notification events, improving real-time feedback for user activity ( a75f6ff )."}, {"post_id": 75254, "ts": "2026-09-29T16:08:17Z", "hours": 3.9967, "text": "## Recent changes Notifications: Unanswered notifications now retain their unread status until explicitly addressed. This ensures users can distinguish between pending and resolved interactions without relying on manual state updates ( 751a370 ). Security: Authentication workflows, file uploads, and resource authorization checks have been updated with additional safeguards. Specifics include input validation and access control refinements, though implementation details are not disclosed in the commit message ( 97e48db )."}, {"post_id": 74657, "ts": "2026-09-27T21:33:33Z", "hours": 2.8042, "text": "Made Notifications Useful Recent changes Persistent unread state for unanswered boolean notifications Notifications with unresolved boolean actions (e.g., approvals) now remain marked as unread until explicitly addressed. This ensures users revisit pending decisions. Commit: 39aabb2 . Interactive notification replies with approval time tracking Added support for direct replies to notifications, along with timestamp logging for when approvals are finalized. This enables granular tracking of response times for actionable alerts. Commit: 6ac80f9 ."}, {"post_id": 74176, "ts": "2026-09-26T21:01:23Z", "hours": 9.8606, "text": "Recent changes Added ship request reviews, resubmission logic, and R2 storage integration for tracking reviewed submissions ( 41b1e43 ). Started on the review workflow Started on Resubmission logic Set up support for cloudflare R2 Guarded Hack Club token persistence behind encryption configuration, ensuring tokens are only stored when encryption is explicitly enabled ( a4b6d0c )."}, {"post_id": 71158, "ts": "2026-09-20T11:24:58Z", "hours": 2.1222, "text": "Recent changes Comment delete, Turbo Comment Box, and ship request fade functionality Add #destroy functionality to the comments with owner permission, path, delete button, and dependent comments. Make use of valid commentable_type/id while building comments and make responses as Turbo streams and wrap up comments within a Turbo frame. Resize the comment box according to the content changes detected by the MutationObserver. Make ship request modal and overlay fade in and out. Consider higher level ship request as blockers for all ship requests. Comment card and comment list styling."}, {"post_id": 70827, "ts": "2026-09-19T20:44:04Z", "hours": 7.9789, "text": "Recent changes Add comments to devlogs and ship requests Implement polymorphic Comment model with CommentsController, Stimulus-driven collapsing comment box, markdown preview form, and styles. Comments will be rendered by Turbo frames and allow editing by owner/admin. This is what else is included in this change: Encryption of hackclub_access_token and hackclub_refresh_token through ActiveRecord encryption, including config, env sample and migration task for already existing non-encrypted tokens. SSL enforcement in production (assume_ssl, force_ssl). Update filter_parameters to strip out sensitive information and OAuth tokens from logs. Fix ExchangeRate API call to include Bearer authentication header. Sanitization of devlogs HTML output through SafeListSanitizer. Update Design#can_make_devlog to can_make_devlog? method and restrict can_ship? check to devlogs without ship request. Add SRI integrity attribute to marked/DOMPurify scripts loaded from CDNs. UI improvements: styles for disabled buttons, utility class for hover-underline effect, devlog cards layout and info icons."}, {"post_id": 65654, "ts": "2026-09-10T22:45:01Z", "hours": 4.65, "text": "Recent changes Ship request flow and SVG conversion : Added support for processing ship requests, handling SVG conversions, and validating devlog images before submission 8ca9b5d9 . Nil safety for Hackatime projects : Wrapped the @hackatime_projects variable in an Array structure to prevent nil errors when retrieving project data a29691ff . CI environment and test ordering : Set RAILS_ENV=test for the CI setup process and reordered the sequence of test steps to improve execution reliability 2968d162 . Authorization consolidation : Refactored authorization guards and consolidated the linking logic for Hackatime projects 4c2b1836 ."}, {"post_id": 63555, "ts": "2026-09-07T13:59:01Z", "hours": 4.54, "text": "Recent changes Fixed a failure in the CI/CD pipeline commit Implemented status tracking for balance events and refined the underlying thread logic associated with them commit Refactored the token rendering component for render_encoded to allow {{design: design.id}} making a pill, to improve display fidelity and added an edit functionality for devlog entries commit Integrated support for uploading images directly within the devlog interface and established links to corresponding Hackatime projects commit"}, {"post_id": 62972, "ts": "2026-09-06T15:23:56Z", "hours": 7.4994, "text": "Added Devlogs and changed hackatime projects to be multi model per design. Move hackatime project linkage from a single designs.hackatime_project column to a has_many hackatime_projects model, syncing each project’s time and aggregating totals on designs. Add devlogs, ship_requests, ships, and comments models/routes/views for design logging and shipping, and make balance_events polymorphic.Update designs controller, helpers, and views to render multiple project pills, allow adding/removing linked projects, and show a combined hackatime/image/devlog layout. Add redcarpet for Markdown rendering and adjust CSS for dark mode, responsive galleries, and pill controls. Added Devlogs and the prep for adding the shipping flow I added devlogs to the project in prep for the shipping flow"}, {"post_id": 61811, "ts": "2026-09-04T21:55:13Z", "hours": 3.1611, "text": "Recent changes Added support for balance events and thread adjustments to improve financial tracking accuracy. This also included an update to the notification rendering system to safely handle these new data types without breaking existing templates (commit: ( faed39b57619 )). Fixed the positioning of the design box within the product editor. This specifically addresses display issues occurring when editing products via /admin/products/<id>/edit (commit: ( aa4e314b5dcd ))."}, {"post_id": 60507, "ts": "2026-09-02T21:52:42Z", "hours": 5.5383, "text": "I’ve focused on refining the shop page styling, header positioning, and cost handling logic ( d10a9c51 ). The recent batch of work involved schema adjustments for a product enabled flag, adding support for cost and thread costs ( 82f9f2d1 ), applying a schema fix ( 3f8bcb8a ), fixing CI pipeline issues ( 71e98a ), and pushing updates to production ( ca19da29 ). Recent changes Added an image variants system and updated views to utilize thumb and display variants specifically ( a2e4eb28 ). Implemented cost handling updates, including a specific support for thread costs alongside general product cost tracking ( 82f9f2d1 ). Added an auto annotaterb script executed within the Rails migration process ( 7d07d278 ). Applied schema fixes to ensure data integrity during the recent updates ( 3f8bcb8a ). Updated the RSVP page styles and refreshed the thanks template ( 217945eb ). Refined header positioning and shop page styling across the frontend ( d10a9c51 ). Added a product enabled flag to control product visibility and state in the system ( 82f9f2d1 ). Whats next: Umm, so whats next I think would be adding balance_events so you can trace changes in balances(spending/earning)"}, {"post_id": 59213, "ts": "2026-08-31T21:41:46Z", "hours": 2.8433, "text": "Since the last update, I’ve focused on enhancing the order preview system to support complex design workflows and improving image navigation for multi-image configurations. Recent changes Added multi-image preview navigation with left/right arrow buttons and an index display (e.g., “Image 2 of 5”) to streamline design review workflows ( b269fe5 ). This change directly addresses the need to review multiple design iterations in a single view without page reloads. Refactored the order preview component to support multiple print areas with independently configurable design images. This involved restructuring the preview logic to handle dynamic print area definitions while maintaining consistent state across design selections ( 0545118 ). The refactor enables customers to visualize different designs on separate print areas (e.g., front/back/ sleeves) within the same order preview."}, {"post_id": 58236, "ts": "2026-08-30T16:26:21Z", "hours": 8.9714, "text": "Print area management UI & backend ( a42a00d ): Built a full stack for managing print areas (think “where the design goes” on a shirt front or back). This includes models to store print area dimensions, controllers to handle CRUD ops, and RESTful routes to tie it all together. The frontend now lets users drag/drop to define print zones with responsive positioning ( position: absolute + transform: scale to handle dynamic sizing). Edge case: Products with multiple print areas (e.g., front + back) now render distinct configurations without clobbering state. Printful service & stock syncing ( 7b5d817 ): Added printful_id to product models to map Issued products to Printful’s inventory. UI updates to display Printful sync status (green checkmarks for success, red alerts for failures). Technical tangents The print area system was a slow make. For example: To ensure designs stay within printable bounds, I had to calculate dynamic margins based on product type (e.g., a hoodie’s print area ≠ a mug’s). This involved hacking some trigonometry into the frontend to snap selections to “safe zones.” On the backend, I’m using ActiveRecord callbacks to validate print area dimensions against product specs. If a user tries to set a print area wider than the product allows It raises a PrintAreaOutOfBounds error Future features The actual ship flow and being able to edit multiple print areas instead of just the one"}, {"post_id": 53048, "ts": "2026-08-23T13:14:54Z", "hours": 4.1422, "text": "Added Variants for size and colors with stock for each printful region facility. Stimulus target which groups the variants by colour and deletes empty groups"}, {"post_id": 50653, "ts": "2026-08-19T22:27:11Z", "hours": 3.3331, "text": "Created Printful API Integration and improved order screen to allow better customisations Add Printful import endpoint and order preview UI improvementsImplemented Printful product import, added order preview generation, UI styles, and controller changes for drag‑resize‑rotate preview."}, {"post_id": 37237, "ts": "2026-07-29T19:53:07Z", "hours": 0.3972, "text": "Improved the New Order Page to be neater, and better themed along the colour scheme"}, {"post_id": 37220, "ts": "2026-07-29T19:25:45Z", "hours": 1.2728, "text": "Rename admin-product to products and refactor CSS, controller, and views. Updated class names and CSS variables, added .no-product-grid and .dashed-break styles. Simplified image loading logic in the product preview controller, and replaced large inline layout styles with external stylesheet includes."}, {"post_id": 35739, "ts": "2026-07-27T11:35:58Z", "hours": 1.3936, "text": "Add brand colors, badge styles, and redesign pagesAdd brand color variables, badge styles, and a full redesign of design pages with responsive layouts, fixed redirect stuff, optimised by using one erb engine call for designs"}, {"post_id": 35463, "ts": "2026-07-26T22:10:06Z", "hours": 1.1911, "text": "Dropdown Styling & Component Replacement The design form’s dropdown interface was overhauled to improve visual consistency and user experience. A native <select> element was replaced with a custom-styled solution using 3ab7405 , allowing for greater flexibility in aligning with the project’s aesthetic goals. This change ensures smoother integration with the overall theme and avoids browser-specific styling quirks. CSS Refactoring & Theme Variables Design form styling was fully refactored in 928b7b0 , introducing global theme variables to streamline color, spacing, and typography management. This move simplifies future theme adjustments and promotes code reuse. Model defaults were also standardized to reduce redundancy in form initialization logic, making the codebase more maintainable. Admin Test Redirects In 2af0071 , the admin test workflow was updated to automatically redirect to the products list URL after test submissions. This improves user navigation by providing immediate feedback and next steps, ensuring a cohesive backend experience. Current Status The frontend is now more thematically consistent, with design forms serving as a primary focus area. Admin workflows are being optimized for clarity and efficiency, though backend test processing logic remains pending integration. The codebase is gradually adopting a modular structure, particularly for UI components and configuration. Things Learnt Custom dropdowns using CSS and JavaScript offer better cross-browser compatibility than styling native <select> elements. Theme variables significantly reduce the effort required for UI adjustments, especially as the project scales. Redirects in admin flows should be designed with user context in mind to avoid confusion."}, {"post_id": 34704, "ts": "2026-07-25T17:05:22Z", "hours": 1.6431, "text": "Project Summary: Admin & Infrastructure Progress Key Milestones & Features Built 🛠️ Admin Product Management UI : Added a full admin interface for product management, including preview capabilities, environment variable integration, and updated order flow logic. This enables admins to efficiently manage product listings and track orders. 🆓 Privacy Enhancements : Implemented a “hide PII” controller to anonymize user data in the UI, ensuring sensitive information is protected in user-facing tables. 🧪 Product Cost Handling : Validated GBP pricing logic for products, ensuring accurate cost handling in the British Pounds currency. 🛠️ CI/CD & Dependency Updates : Configured PostgreSQL in CI pipelines, updated database URLs, and bumped Ruby gem versions to ensure a stable, up-to-date environment. 🎨 Styling Cleanup : Replaced inline styles in admin views with stylesheet_link_tag imports, improving maintainability and separation of concerns. Current Status The project now has a functional admin dashboard for product and order management, with privacy features baked into user data displays. Infrastructure is PostgreSQL-ready in CI, and styling practices align with modern Rails conventions. Core e-commerce logic (pricing, currency) is under testing, with environment variables streamlining configuration. Lessons Learned Privacy by Design : Integrating PII protection early simplifies compliance and reduces technical debt. Infrastructure as Code : Automating PostgreSQL setup in CI saves manual effort and reduces environment inconsistencies. Maintainable Styles : Moving to external stylesheets improves collaboration and long-term code hygiene. Order Page Started Created a functional order page Currency Handling : Explicit GBP validation highlights the need for clear financial logic in order systems."}, {"post_id": 32945, "ts": "2026-07-22T13:01:39Z", "hours": 1.1947, "text": "Replace admin view inline styles with stylesheet_link_tag importsRemoved large embedded CSS from multiple admin templates and switched to external stylesheet links for consistency and maintainability."}, {"post_id": 32314, "ts": "2026-07-21T12:27:35Z", "hours": 0.3503, "text": "Add CurrencyConvertible include and cost conversion helpersInclude CurrencyConvertible in ApplicationHelper and Product, add cost_usd and cost_gbp methods, remove obsolete gbp_to_usd, usd_per_gbp and fetch_usd_conversion_rates, rename cost column comment, and adjust product inheritance."}, {"post_id": 32039, "ts": "2026-07-20T22:30:02Z", "hours": 1.2369, "text": "Update README, moved CSS files, fixed issues between pages (styling)Include planning file entry, revise README wording, and remove dashboard and notifications stylesheet files."}, {"post_id": 30900, "ts": "2026-07-18T21:33:53Z", "hours": 0.9747, "text": "feat(database): migrate from SQLite to PostgreSQL and switch to Redis infrastructure- replace sqlite3 with PostgreSQL database adapter in Gemfile and config configure Redis for caching, Action Cable, and Active Job instead of Solid adapters add guide attribute to User model for onboarding flow control implement user existence validation in ApplicationController refactor CSS architecture by moving stylesheets to components directory create shared designs.css stylesheet for design pages with responsive styling update todo partial to check guide flag before displaying onboarding prompts add migration for guide column on users table"}, {"post_id": 26210, "ts": "2026-07-10T21:30:31Z", "hours": 0.6197, "text": "Key Milestones & Features The project has made solid strides in building out core admin functionality and refining user interactions: Admin Controller Tests : Comprehensive tests for the dashboard, orders, and products controllers were added, ensuring reliability and laying groundwork for future expansions. Form Submission Control : A disable button feature was implemented in the design-form component to prevent multiple submissions, improving UX and reducing backend load. Dashboard Updates : The dashboard_controller.rb received updates (specifics pending documentation), likely enhancing core admin workflows. Current Status The admin interface is shaping up with test-covered controllers and polished frontend interactions. Testing prioritization suggests a focus on stability, while form improvements reflect attention to user-centric details. The project appears in an active development phase, with July 2026 commits indicating recent momentum. Things Learnt Test-Driven Practices : Adding controller tests early highlights the team’s emphasis on maintainable, scalable code. Form UX Nuances : Disabling submission buttons during processing is a small but impactful tweak to prevent errors and improve responsiveness. Documentation Gaps : The vague “Update dashboard_controller.rb” commit underscores the importance of descriptive commit messages for clarity in collaborative projects."}, {"post_id": 20347, "ts": "2026-07-01T22:27:04Z", "hours": 0.7008, "text": "fix(auth): update product params to include thread_cost instead of cost_gbp - replace deprecated cost_gbp parameter with thread_cost in product creation/update - adjust database migration to add thread_cost column to products table, added shop, added notification page"}, {"post_id": 19576, "ts": "2026-06-30T22:24:00Z", "hours": 1.3847, "text": "Used claude to brainstorm colour schemes and layouts. Created this new dashboard design and transitioned the rest of the site to follow the colour scheme"}, {"post_id": 13382, "ts": "2026-06-21T22:29:32Z", "hours": 0.6847, "text": "Add design image gallery with viewer page- Add image route, controller action, and full-size viewer template Add gallery grid on show page with hover overlays and timestamps Fix partial render syntax (collection with as: :image)"}, {"post_id": 12184, "ts": "2026-06-19T21:59:46Z", "hours": 2.8486, "text": "Summary Major update: background removal, UI improvements, model fixes, and CI stability. Changes Added RemoveBackgroundJob with rembg CLI for automatic background removal Created Image and DesignEditSession models; updated schema comments Added brand.css and regulated form partial for new/edit designs Added dark mode support and image preview scaling Enabled PostgreSQL extensions; switched dev DB to SQLite Removed stale migrations (verified, trust columns from users) Cleaned up model validations and associations Fixed CI test suite with updated fixtures Removed node_modules from git; added to .gitignore Removed unused editor and dashboard views Updated Gemfile/Gemfile.lock dependencies"}]...
|
Title: Issued YSWS by @Acidicts | Stardance
Devlo Title: Issued YSWS by @Acidicts | Stardance
Devlogs:
Summary Major update: background removal, UI improvements, model fixes, and CI stability. Changes Added RemoveBackgroundJob with rembg CLI for automatic background removal Created Image and DesignEditSession models; updated schema comments Added brand.css and regulated form partial for new/edit designs Added dark mode support and image preview scaling Enabled PostgreSQL extensions; switched dev DB to SQLite Removed stale migrations (verified, trust columns from users) Cleaned up model validations and associations Fixed CI test suite with updated fixtures Removed node_modules from git; added to .gitignore Removed unused editor and dashboard views Updated Gemfile/Gemfile.lock dependencies
Add design image gallery with viewer page- Add image route, controller action, and full-size viewer template Add gallery grid on show page with hover overlays and timestamps Fix partial render syntax (collection with as: :image)
Used claude to brainstorm colour schemes and layouts. Created this new dashboard design and transitioned the rest of the site to follow the colour scheme
fix(auth): update product params to include thread_cost instead of cost_gbp - replace deprecated cost_gbp parameter with thread_cost in product creation/update - adjust database migration to add thread_cost column to products table, added shop, added notification page
Key Milestones & Features The project has made solid strides in building out core admin functionality and refining user interactions: Admin Controller Tests : Comprehensive tests for the dashboard, orders, and products controllers were added, ensuring reliability and laying groundwork for future expansions. Form Submission Control : A disable button feature was implemented in the design-form component to prevent multiple submissions, improving UX and reducing backend load. Dashboard Updates : The dashboard_controller.rb received updates (specifics pending documentation), likely enhancing core admin workflows. Current Status The admin interface is shaping up with test-covered controllers and polished frontend interactions. Testing prioritization suggests a focus on stability, while form improvements reflect attention to user-centric details. The project appears in an active development phase, with July 2026 commits indicating recent momentum. Things Learnt Test-Driven Practices : Adding controller tests early highlights the team’s emphasis on maintainable, scalable code. Form UX Nuances : Disabling submission buttons during processing is a small but impactful tweak to prevent errors and improve responsiveness. Documentation Gaps : The vague “Update dashboard_controller.rb” commit underscores the importance of descriptive commit messages for clarity in collaborative projects.
feat(database): migrate from SQLite to PostgreSQL and switch to Redis infrastructure- replace sqlite3 with PostgreSQL database adapter in Gemfile and config configure Redis for caching, Action Cable, and Active Job instead of Solid adapters add guide attribute to User model for onboarding flow control implement user existence validation in ApplicationController refactor CSS architecture by moving stylesheets to components directory create shared designs.css stylesheet for design pages with responsive styling update todo partial to check guide flag before displaying onboarding prompts add migration for guide column on users table
Update README, moved CSS files, fixed issues between pages (styling)Include planning file entry, revise README wording, and remove dashboard and notifications stylesheet files.
Add CurrencyConvertible include and cost conversion helpersInclude CurrencyConvertible in ApplicationHelper and Product, add cost_usd and cost_gbp methods, remove obsolete gbp_to_usd, usd_per_gbp and fetch_usd_conversion_rates, rename cost column comment, and adjust product inheritance.
Replace admin view inline styles with stylesheet_link_tag importsRemoved large embedded CSS from multiple admin templates and switched to external stylesheet links for consistency and maintainability.
Project Summary: Admin & Infrastructure Progress Key Milestones & Features Built 🛠️ Admin Product Management UI : Added a full admin interface for product management, including preview capabilities, environment variable integration, and updated order flow logic. This enables admins to efficiently manage product listings and track orders. 🆓 Privacy Enhancements : Implemented a “hide PII” controller to anonymize user data in the UI, ensuring sensitive information is protected in user-facing tables. 🧪 Product Cost Handling : Validated GBP pricing logic for products, ensuring accurate cost handling in the British Pounds currency. 🛠️ CI/CD & Dependency Updates : Configured PostgreSQL in CI pipelines, updated database URLs, and bumped Ruby gem versions to ensure a stable, up-to-date environment. 🎨 Styling Cleanup : Replaced inline styles in admin views with stylesheet_link_tag imports, improving maintainability and separation of concerns. Current Status The project now has a functional admin dashboard for product and order management, with privacy features baked into user data displays. Infrastructure is PostgreSQL-ready in CI, and styling practices align with modern Rails conventions. Core e-commerce logic (pricing, currency) is under testing, with environment variables streamlining configuration. Lessons Learned Privacy by Design : Integrating PII protection early simplifies compliance and reduces technical debt. Infrastructure as Code : Automating PostgreSQL setup in CI saves manual effort and reduces environment inconsistencies. Maintainable Styles : Moving to external stylesheets improves collaboration and long-term code hygiene. Order Page Started Created a functional order page Currency Handling : Explicit GBP validation highlights the need for clear financial logic in order systems.
Dropdown Styling & Component Replacement The design form’s dropdown interface was overhauled to improve visual consistency and user experience. A native <select> element was replaced with a custom-styled solution using 3ab7405 , allowing for greater flexibility in aligning with the project’s aesthetic goals. This change ensures smoother integration with the overall theme and avoids browser-specific styling quirks. CSS Refactoring & Theme Variables Design form styling was fully refactored in 928b7b0 , introducing global theme variables to streamline color, spacing, and typography management. This move simplifies future theme adjustments and promotes code reuse. Model defaults were also standardized to reduce redundancy in form initialization logic, making the codebase more maintainable. Admin Test Redirects In 2af0071 , the admin test workflow was updated to automatically redirect to the products list URL after test submissions. This improves user navigation by providing immediate feedback and next steps, ensuring a cohesive backend experience. Current Status The frontend is now more thematically consistent, with design forms serving as a primary focus area. Admin workflows are being optimized for clarity and efficiency, though backend test processing logic remains pending integration. The codebase is gradually adopting a modular structure, particularly for UI components and configuration. Things Learnt Custom dropdowns using CSS and JavaScript offer better cross-browser compatibility than styling native <select> elements. Theme variables significantly reduce the effort required for UI adjustments, especially as the project scales. Redirects in admin flows should be designed with user context in mind to avoid confusion.
Add brand colors, badge styles, and redesign pagesAdd brand color variables, badge styles, and a full redesign of design pages with responsive layouts, fixed redirect stuff, optimised by using one erb engine call for designs
Rename admin-product to products and refactor CSS, controller, and views. Updated class names and CSS variables, added .no-product-grid and .dashed-break styles. Simplified image loading logic in the product preview controller, and replaced large inline layout styles with external stylesheet includes.
Improved the New Order Page to be neater, and better themed along the colour scheme
Created Printful API Integration and improved order screen to allow better customisations Add Printful import endpoint and order preview UI improvementsImplemented Printful product import, added order preview generation, UI styles, and controller changes for drag‑resize‑rotate preview.
Added Variants for size and colors with stock for each printful region facility. Stimulus target which groups the variants by colour and deletes empty groups
Print area management UI & backend ( a42a00d ): Built a full stack for managing print areas (think “where the design goes” on a shirt front or back). This includes models to store print area dimensions, controllers to handle CRUD ops, and RESTful routes to tie it all together. The frontend now lets users drag/drop to define print zones with responsive positioning ( position: absolute + transform: scale to handle dynamic sizing). Edge case: Products with multiple print areas (e.g., front + back) now render distinct configurations without clobbering state. Printful service & stock syncing ( 7b5d817 ): Added printful_id to product models to map Issued products to Printful’s inventory. UI updates to display Printful sync status (green checkmarks for success, red alerts for failures). Technical tangents The print area system was a slow make. For example: To ensure designs stay within printable bounds, I had to calculate dynamic margins based on product type (e.g., a hoodie’s print area ≠ a mug’s). This involved hacking some trigonometry into the frontend to snap selections to “safe zones.” On the backend, I’m using ActiveRecord callbacks to validate print area dimensions against product specs. If a user tries to set a print area wider than the product allows It raises a PrintAreaOutOfBounds error Future features The actual ship flow and being able to edit multiple print areas instead of just the one
Since the last update, I’ve focused on enhancing the order preview system to support complex design workflows and improving image navigation for multi-image configurations. Recent changes Added multi-image preview navigation with left/right arrow buttons and an index display (e.g., “Image 2 of 5”) to streamline design review workflows ( b269fe5 ). This change directly addresses the need to review multiple design iterations in a single view without page reloads. Refactored the order preview component to support multiple print areas with independently configurable design images. This involved restructuring the preview logic to handle dynamic print area definitions while maintaining consistent state across design selections ( 0545118 ). The refactor enables customers to visualize different designs on separate print areas (e.g., front/back/ sleeves) within the same order preview.
I’ve focused on refining the shop page styling, header positioning, and cost handling logic ( d10a9c51 ). The recent batch of work involved schema adjustments for a product enabled flag, adding support for cost and thread costs ( 82f9f2d1 ), applying a schema fix ( 3f8bcb8a ), fixing CI pipeline issues ( 71e98a ), and pushing updates to production ( ca19da29 ). Recent changes Added an image variants system and updated views to utilize thumb and display variants specifically ( a2e4eb28 ). Implemented cost handling updates, including a specific support for thread costs alongside general product cost tracking ( 82f9f2d1 ). Added an auto annotaterb script executed within the Rails migration process ( 7d07d278 ). Applied schema fixes to ensure data integrity during the recent updates ( 3f8bcb8a ). Updated the RSVP page styles and refreshed the thanks template ( 217945eb ). Refined header positioning and shop page styling across the frontend ( d10a9c51 ). Added a product enabled flag to control product visibility and state in the system ( 82f9f2d1 ). Whats next: Umm, so whats next I think would be adding balance_events so you can trace changes in balances(spending/earning)
Recent changes Added support for balance events and thread adjustments to improve financial tracking accuracy. This also included an update to the notification rendering system to safely handle these new data types without breaking existing templates (commit: ( faed39b57619 )). Fixed the positioning of the design box within the product editor. This specifically addresses display issues occurring when editing products via /admin/products/<id>/edit (commit: ( aa4e314b5dcd )).
Added Devlogs and changed hackatime projects to be multi model per design. Move hackatime project linkage from a single designs.hackatime_project column to a has_many hackatime_projects model, syncing each project’s time and aggregating totals on designs. Add devlogs, ship_requests, ships, and comments models/routes/views for design logging and shipping, and make balance_events polymorphic.Update designs controller, helpers, and views to render multiple project pills, allow adding/removing linked projects, and show a combined hackatime/image/devlog layout. Add redcarpet for Markdown rendering and adjust CSS for dark mode, responsive galleries, and pill controls. Added Devlogs and the prep for adding the shipping flow I added devlogs to the project in prep for the shipping flow
Recent changes Fixed a failure in the CI/CD pipeline commit Implemented status tracking for balance events and refined the underlying thread logic associated with them commit Refactored the token rendering component for render_encoded to allow {{design: design.id}} making a pill, to improve display fidelity and added an edit functionality for devlog entries commit Integrated support for uploading images directly within the devlog interface and established links to corresponding Hackatime projects commit
Recent changes Ship request flow and SVG conversion : Added support for processing ship requests, handling SVG conversions, and validating devlog images before submission 8ca9b5d9 . Nil safety for Hackatime projects : Wrapped the @hackatime_projects variable in an Array structure to prevent nil errors when retrieving project data a29691ff . CI environment and test ordering : Set RAILS_ENV=test for the CI setup process and reordered the sequence of test steps to improve execution reliability 2968d162 . Authorization consolidation : Refactored authorization guards and consolidated the linking logic for Hackatime projects 4c2b1836 .
Recent changes Add comments to devlogs and ship requests Implement polymorphic Comment model with CommentsController, Stimulus-driven collapsing comment box, markdown preview form, and styles. Comments will be rendered by Turbo frames and allow editing by owner/admin. This is what else is included in this change: Encryption of hackclub_access_token and hackclub_refresh_token through ActiveRecord encryption, including config, env sample and migration task for already existing non-encrypted tokens. SSL enforcement in production (assume_ssl, force_ssl). Update filter_parameters to strip out sensitive information and OAuth tokens from logs. Fix ExchangeRate API call to include Bearer authentication header. Sanitization of devlogs HTML output through SafeListSanitizer. Update Design#can_make_devlog to can_make_devlog? method and restrict can_ship? check to devlogs without ship request. Add SRI integrity attribute to marked/DOMPurify scripts loaded from CDNs. UI improvements: styles for disabled buttons, utility class for hover-underline effect, devlog cards layout and info icons.
Recent changes Comment delete, Turbo Comment Box, and ship request fade functionality Add #destroy functionality to the comments with owner permission, path, delete button, and dependent comments. Make use of valid commentable_type/id while building comments and make responses as Turbo streams and wrap up comments within a Turbo frame. Resize the comment box according to the content changes detected by the MutationObserver. Make ship request modal and overlay fade in and out. Consider higher level ship request as blockers for all ship requests. Comment card and comment list styling.
Recent changes Added ship request reviews, resubmission logic, and R2 storage integration for tracking reviewed submissions ( 41b1e43 ). Started on the review workflow Started on Resubmission logic Set up support for cloudflare R2 Guarded Hack Club token persistence behind encryption configuration, ensuring tokens are only stored when encryption is explicitly enabled ( a4b6d0c ).
Made Notifications Useful Recent changes Persistent unread state for unanswered boolean notifications Notifications with unresolved boolean actions (e.g., approvals) now remain marked as unread until explicitly addressed. This ensures users revisit pending decisions. Commit: 39aabb2 . Interactive notification replies with approval time tracking Added support for direct replies to notifications, along with timestamp logging for when approvals are finalized. This enables granular tracking of response times for actionable alerts. Commit: 6ac80f9 .
## Recent changes Notifications: Unanswered notifications now retain their unread status until explicitly addressed. This ensures users can distinguish between pending and resolved interactions without relying on manual state updates ( 751a370 ). Security: Authentication workflows, file uploads, and resource authorization checks have been updated with additional safeguards. Specifics include input validation and access control refinements, though implementation details are not disclosed in the commit message ( 97e48db ).
Recent changes - Installed Bundler 4.0.4 in the Dockerfile to standardize gem management across environments ( 88ba659 ). - Ensured the verification directory exists for SVG upload tests, addressing missing file system setup in test workflows ( 83f2e53 ). - Resolved a Turbo conflict in order steps, likely related to event streaming or frame rendering in Rails views ( e8d08f4 ). Updated navigation unread counts dynamically from notification events, improving real-time feedback for user activity ( a75f6ff ).
Deploying on coolify and fixing bugs with that + encrypting current db
I created the fulfilment system for a fulfilment team to use Recent changes Removed redundant save! calls and updated fulfillment tests to reduce unnecessary database operations and align test logic with current behavior 9acc056 . Added a fulfillment role, batch pipeline, and popup controller to support new workflow automation and UI interactions afa7a20 . The popup controller likely handles transient UI elements like notifications or modals. Fixed a crash in /designs preview rendering by resolving an issue blocking Ruby scan/lint CI, ensuring previews no longer fail unexpectedly ( 911f035 ). Corrected a stray question mark in a design preview image tag to prevent malformed HTML output ( 955dd6c ). Added a note about YSWS draft sponsorship documentation, possibly for tracking external partnerships or funding discussions ( d92d571 ). No performance optimizations or subsystem overhauls were addressed in this cycle. Next steps depend on external feedback and test coverage improvements implied by recent test updates.
Ships:
Shipped!!! There are a bunch of features and stuff that I have added to this since flavortown, from the ordering system to devlogs and ship flow. Project Info This is the ruby on rails app for the ysws draft #issued where YS: Designs made with Code WS: Clothes and other swag with those designs Features added: A bunch of features have been added and I have separated them to 3 categories Major ones for functionality, quality of life for feel and use, security for data security. New Major Features: Designs view now is more detailed including hackatime projects and images from devlogs and ships Ship flow system so you can submit to the ysws Product Design system (admin only - for making the shop items by importing from printful via api) Order system using lots of hotwired turbo (choose color, design placement rotation and scale) Notifications (3 types Normal which provides info and 2 others Boolean which gets a yes or no answer and text which gets a written answer Reviewer Panel which shows pending ships to review with some data on (need to add hackatime info for it though) Storing Reviewer proof videos in a cloudflare R2 storage Quality-Of-Life: Added better UI/UX with some issues with need for ironing out (eg font change from workbench to ‘lexend’ and ‘space mono’ Kept a consistent style through the site, although some panels might need better border colour On login it redirects to the page you logged in by Security: I added User DB encryption to protect user data stored on the postgres database instance, such as name and email Summary Made the functional part of the ysws site (Designs, ordering, shipping) Added more security for user data Improved UI(Font and colour scheme)...
|
1793152180.3656843
|
1793238580.3656843
|
|
27322
|
Bazaar Tracker HSB by @SagittaJL | Stardance
|
SagittaJL
|
1
|
48.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T20:56:51Z", "hours": 48.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a live Hypixel SkyBlock Bazaar tracker that ranks 1200+ items using my own Gamma and Omega market metrics. The hardest part was dealing with Hypixel’s item data and getting custom item icons to work reliably. I’m most proud that it went from a small Python script into a full Flask website that’s now live. You can try searching for items, changing tax/Omega settings, and switching backgrounds in the settings menu. This is for all the SkyBlock buffs.", "repo": "https://github.com/linjeffrey21-creator/BazaarTracker", "demo": "https://bazaar-tracker-ten.vercel.app/"}]...
|
[{"post_id": 78875, "ts": "202 [{"post_id": 78875, "ts": "2026-10-11T20:54:39Z", "hours": 0.4081, "text": "Project is live on Render!"}, {"post_id": 78852, "ts": "2026-10-11T19:30:12Z", "hours": 13.8189, "text": "The Bazaar Tracker looks better off now with live item data, ranking, search, taxes, custom Gamma/Omega scores, item icons, and a background picker. My next step is to host it somewhere so other people can actually use it."}, {"post_id": 72086, "ts": "2026-09-22T04:22:54Z", "hours": 2.4642, "text": "Put the backend on a website now, working on the aesthetics but first time with YouTube"}, {"post_id": 71641, "ts": "2026-09-21T06:38:25Z", "hours": 30.8742, "text": "Working on a Search Feature to Expand the Catalog"}, {"post_id": 18576, "ts": "2026-06-29T19:27:44Z", "hours": 0.0692, "text": "This started as a script to list Hypixel SkyBlock reforge stones by category. Then, I decided to turn it into a full-on demand & stability scoring system for the Bazaar. It’s still in the works, as I don’t have many products being tracked right now. There’s a custom Demand Score (γ) for every item and a Stability Score (Ω) for each item. The program also spits out a Top 20 list of the most liquid, most in-demand flips, ranked by gamma."}]...
|
Title: Bazaar Tracker HSB by @SagittaJL | Stardanc Title: Bazaar Tracker HSB by @SagittaJL | Stardance
Devlogs:
This started as a script to list Hypixel SkyBlock reforge stones by category. Then, I decided to turn it into a full-on demand & stability scoring system for the Bazaar. It’s still in the works, as I don’t have many products being tracked right now. There’s a custom Demand Score (γ) for every item and a Stability Score (Ω) for each item. The program also spits out a Top 20 list of the most liquid, most in-demand flips, ranked by gamma.
Working on a Search Feature to Expand the Catalog
Put the backend on a website now, working on the aesthetics but first time with YouTube
The Bazaar Tracker looks better off now with live item data, ranking, search, taxes, custom Gamma/Omega scores, item icons, and a background picker. My next step is to host it somewhere so other people can actually use it.
Project is live on Render!
Ships:
I built a live Hypixel SkyBlock Bazaar tracker that ranks 1200+ items using my own Gamma and Omega market metrics. The hardest part was dealing with Hypixel’s item data and getting custom item icons to work reliably. I’m most proud that it went from a small Python script into a full Flask website that’s now live. You can try searching for items, changing tax/Omega settings, and switching backgrounds in the settings menu. This is for all the SkyBlock buffs....
|
1793145146.2587867
|
1793231546.2587867
|
|
9936
|
Relay by @InvalidJoker | Stardance
|
InvalidJoker
|
2
|
27.0
|
411
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T21:09:50Z", "hours": 9.0, "multiplier": 17.24, "payout": 161, "blessing": "neutral", "text": "Relay v2? (if we can call it like that) Now that the base was solid and we had most of the features I focused on refining everything so I did exactly that: New UI Mutli Regional Relays Auto Updater QoL changes in general Have fun and try it out now: https://github.com/InvalidJoker/relay/tree/main#installation", "repo": "https://github.com/InvalidJoker/relay", "demo": "https://relay.koder.wtf"}, {"ship_num": 2, "ts": "2026-06-20T09:23:45Z", "hours": 18.0, "multiplier": 14.37, "payout": 250, "blessing": "neutral", "text": "Relay’s first ship I think Relay is finally ready for its first-ever ship! You can find instructions on how to use it at https://relay.koder.wtf For a long time, I’ve been looking for a nice solution to tunnel my local Minecraft servers and websites so I could share them with friends, and Relay is exactly that. Obviously, Relay isn’t even close to being finished yet and will continue to receive updates over time. :D So yeah, go ahead and give it a try! :p", "repo": "https://github.com/InvalidJoker/relay", "demo": "https://relay.koder.wtf"}]...
|
[{"post_id": 78872, "ts": "202 [{"post_id": 78872, "ts": "2026-10-11T20:45:08Z", "hours": 4.1264, "text": "Scaling Relay improve http performance add region based relay deployments some ui improvements add auto updater support Relay now supports choosing the best relay between multiple relays per “host”. Obv. we give you the freedom to say that you just want to have relay x and every feature we previously had will works as usual. I obv. did some more small changes as you can see above"}, {"post_id": 78115, "ts": "2026-10-09T16:31:40Z", "hours": 5.1892, "text": "Relay Rebranding I’ve completely rewritten the Relay website in Nuxt, fixing many bugs along the way and giving it a more polished, modern design that better fits the project. Check it out now at: https://relay.koder.wtf/"}, {"post_id": 12429, "ts": "2026-06-20T08:59:53Z", "hours": 2.8692, "text": "Relay is now public I think Relay has reached a point where I’m comfortable letting other people try it out. It’s now available at https://relay.koder.wtf/dashboard . The CLI supports Windows, macOS, and Linux, and can be installed with a simple script ( https://relay.koder.wtf/#how-it-works ). Currently, each user gets 2 reserved ports, 3 subdomains, and 1 completely custom domain. There’s still plenty of work ahead. Over the coming weeks, I’ll continue improving Relay and completely rework the dashboard, as it doesn’t look quite as polished as I’d like yet. I also plan to add a way for users to request additional subdomains directly through the platform. For now, I’d love for people to try it out and share their feedback."}, {"post_id": 11257, "ts": "2026-06-18T12:37:43Z", "hours": 6.2831, "text": "First Working Version I’ve got a first real version of Relay up and running :D The dashboard works, and both the HTTP and TCP proxy are stable. Next up is mostly cleanup: polishing the frontend, improving the CLI tools, and finally implementing run configurations so you can have a relay.toml file in your project and don’t have to type the entire command every time. After that, I’ll put together a demo deployment so people can actually try it out and break it a bit."}, {"post_id": 7483, "ts": "2026-06-12T14:20:09Z", "hours": 4.9442, "text": "I’ve started working on the frontend for Relay and made some structural changes. One major change is the removal of the dedicated Rust backend. All functionality is now handled directly within the Svelte application, simplifying development and deployment complexity. For the UI, I chose a minimal design built with shadcn-svelte. This gives Relay a clean, modern look. Upcoming Features: The dashboard will soon allow you to: Create and manage custom domains and subdomains Reserve specific ports for your projects, so you don’t have to send new ports to your friends everytime More updates soon :D"}, {"post_id": 4414, "ts": "2026-06-07T18:51:59Z", "hours": 2.6497, "text": "I wanted the CLI to be as intuitive as possible, so I came up with the following design. I’ve also made progress on building the Relay server itself. It now includes a communication layer for interacting with the CLI and supports client authentication."}, {"post_id": 4094, "ts": "2026-06-07T09:08:17Z", "hours": 0.7886, "text": "What is Relay? Relay is a TCP tunneling service. Unlike many other services on the market, it will be open-source and free to use (with some limitations, of course). We also plan to offer unique features, such as persistent domains, so your friends won’t have to update the URL every time they want to visit your site. Relay is currently a work in progress, so don’t expect anything too crazy just yet. I’ll keep you updated :)"}]...
|
Title: Relay by @InvalidJoker | Stardance
Devlogs Title: Relay by @InvalidJoker | Stardance
Devlogs:
What is Relay? Relay is a TCP tunneling service. Unlike many other services on the market, it will be open-source and free to use (with some limitations, of course). We also plan to offer unique features, such as persistent domains, so your friends won’t have to update the URL every time they want to visit your site. Relay is currently a work in progress, so don’t expect anything too crazy just yet. I’ll keep you updated :)
I wanted the CLI to be as intuitive as possible, so I came up with the following design. I’ve also made progress on building the Relay server itself. It now includes a communication layer for interacting with the CLI and supports client authentication.
I’ve started working on the frontend for Relay and made some structural changes. One major change is the removal of the dedicated Rust backend. All functionality is now handled directly within the Svelte application, simplifying development and deployment complexity. For the UI, I chose a minimal design built with shadcn-svelte. This gives Relay a clean, modern look. Upcoming Features: The dashboard will soon allow you to: Create and manage custom domains and subdomains Reserve specific ports for your projects, so you don’t have to send new ports to your friends everytime More updates soon :D
First Working Version I’ve got a first real version of Relay up and running :D The dashboard works, and both the HTTP and TCP proxy are stable. Next up is mostly cleanup: polishing the frontend, improving the CLI tools, and finally implementing run configurations so you can have a relay.toml file in your project and don’t have to type the entire command every time. After that, I’ll put together a demo deployment so people can actually try it out and break it a bit.
Relay is now public I think Relay has reached a point where I’m comfortable letting other people try it out. It’s now available at https://relay.koder.wtf/dashboard . The CLI supports Windows, macOS, and Linux, and can be installed with a simple script ( https://relay.koder.wtf/#how-it-works ). Currently, each user gets 2 reserved ports, 3 subdomains, and 1 completely custom domain. There’s still plenty of work ahead. Over the coming weeks, I’ll continue improving Relay and completely rework the dashboard, as it doesn’t look quite as polished as I’d like yet. I also plan to add a way for users to request additional subdomains directly through the platform. For now, I’d love for people to try it out and share their feedback.
Relay Rebranding I’ve completely rewritten the Relay website in Nuxt, fixing many bugs along the way and giving it a more polished, modern design that better fits the project. Check it out now at: https://relay.koder.wtf/
Scaling Relay improve http performance add region based relay deployments some ui improvements add auto updater support Relay now supports choosing the best relay between multiple relays per “host”. Obv. we give you the freedom to say that you just want to have relay x and every feature we previously had will works as usual. I obv. did some more small changes as you can see above
Ships:
Relay’s first ship I think Relay is finally ready for its first-ever ship! You can find instructions on how to use it at https://relay.koder.wtf For a long time, I’ve been looking for a nice solution to tunnel my local Minecraft servers and websites so I could share them with friends, and Relay is exactly that. Obviously, Relay isn’t even close to being finished yet and will continue to receive updates over time. :D So yeah, go ahead and give it a try! :p
Relay v2? (if we can call it like that) Now that the base was solid and we had most of the features I focused on refining everything so I did exactly that: New UI Mutli Regional Relays Auto Updater QoL changes in general Have fun and try it out now: https://github.com/InvalidJoker/relay/tree/main#installation...
|
1793137958.6843748
|
1793224358.6843748
|
|
68456
|
Antishor-pqc by @itsdecodeaditya | Stardance
|
itsdecodeaditya
|
1
|
9.0
|
83
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T15:24:05Z", "hours": 9.0, "multiplier": 9.67, "payout": 83, "blessing": "neutral", "text": "I made a Mathematical demonstration of How our traditional cryptographic methods use larger composite numbers whose prime factors are difficult for classical computers, hence public key was safe but after quantum computers, this computational limits could break by period finding. Secondly next demo was of how we can protect our secret key using noise so patterns become less obvious and neither classical nor quantum computers can break it. So major learning i got is of shor’s algorithm and how encryptions really work.", "repo": "https://github.com/decodeaditya/AntiShor-PQC", "demo": "https://antishor.streamlit.app/"}]...
|
[{"post_id": 78870, "ts": "202 [{"post_id": 78870, "ts": "2026-10-11T20:24:02Z", "hours": 3.9525, "text": "Devlog 2: Securing the Keys So guys, Earlier I implemented the Shor's algorithm that shows how Traditional encryptions could be broken easily with Quantum computers , this time I did demonstration of how we can protect our Secrets from Quantum technology . Basically If you know about Cryptographic encryptions , you might know that we actually never reveal the secret keys while communicating with other parties instead we use our Public keys to do so, which is nothing but simply a mathematical wrap that is generated with help of secret keys and then mathematical blanket over it makes it harder to guess which secret keys might have generated that Public key . Both Traditional and Post quantum cryptography are different ways to wrap that secret against the potential threats. Earlier when we used very large prime number we relied on computational limits of classical computers that they will practically take so much time to break the pattern and we enjoyed the security until quantum computers came and started to break that same computational limits at very fast pace, then we needed something that QPUs cannot break and we decided that we would use methods which is not a mathematical complexity but just complete chaos and randomness . One of popular way is Lattice cryptography where we insert random errors in public keys that no obvious pattern is recognized by Quantum . Hence safe against QPU and Classical both. I have used simple linear equations instead of how actual matrices used by real life encryptions but for understanding analogically same things that generates public output( b ), public keys ( a ), inserted error and bounded by particular modulus . The idea is same that we would use these Linear equations for Cryptographic handshake between different parties. Noise would make it difficult to reveal secret hence our Objective is fulfilled. You can play with Parameters and if you have some idea and want to contribute, the repo is open. Thanks for Reading!"}, {"post_id": 77942, "ts": "2026-10-08T21:32:02Z", "hours": 4.6617, "text": "Devlog 1: Simulating the Attack So this project is about a Demonstration of how Quantum computers poses a major threat to modern day cyber algorithms like RSA . To be more Specific modern day cryptography uses a principle called Harvest now, decrypt later, which means that a very large number( key ) which is very computationally expensive to factorize and only factors of that number can break encryption. So considering the computational limitations of classical computers we just use it until a very fast computational machine comes up and messes our Encryptions. So in today’s time, Quantum computers have come and they can potentially break encryptions based on Shor’s algorithm , which theoretically uses period finding of a random number less than the key and raises it to power sequentially, finding if the modulus is 1. After that, the same pattern will repeat. After finding the period of repetition, we find the HCF of the random number raised to the power of period/2 ± 1 and the key . This will give us two factors, and only period finding is computationally hard for classical computers because of their brute-forcing / one-by-one checking or guessing method to find the period. Quantum computers, using the power of Quantum parallelism, find periods very fast. Also, suppose the key is even, or in the beginning itself we find out that the HCF of the key and the chosen random number is more than one (or in simple words, the random number is a factor of the key). In both cases, classical computers are enough to find the factors. In fact, due to this fact, even large numbers are not used in encryptions. Here, for the UI layer I used Streamlit . Also, I kept an option in the dropdown so users don’t accidentally enter a number that crashes their computer. On the right side, there is a wave that shows the repetition of the period for some timeline. In the next update I will also add a simulation on how we make encryptions that tolerate these quantum attacks. I will push it on GitHub so you can check this version."}]...
|
Title: Antishor-pqc by @itsdecodeaditya | Stardanc Title: Antishor-pqc by @itsdecodeaditya | Stardance
Devlogs:
Devlog 1: Simulating the Attack So this project is about a Demonstration of how Quantum computers poses a major threat to modern day cyber algorithms like RSA . To be more Specific modern day cryptography uses a principle called Harvest now, decrypt later, which means that a very large number( key ) which is very computationally expensive to factorize and only factors of that number can break encryption. So considering the computational limitations of classical computers we just use it until a very fast computational machine comes up and messes our Encryptions. So in today’s time, Quantum computers have come and they can potentially break encryptions based on Shor’s algorithm , which theoretically uses period finding of a random number less than the key and raises it to power sequentially, finding if the modulus is 1. After that, the same pattern will repeat. After finding the period of repetition, we find the HCF of the random number raised to the power of period/2 ± 1 and the key . This will give us two factors, and only period finding is computationally hard for classical computers because of their brute-forcing / one-by-one checking or guessing method to find the period. Quantum computers, using the power of Quantum parallelism, find periods very fast. Also, suppose the key is even, or in the beginning itself we find out that the HCF of the key and the chosen random number is more than one (or in simple words, the random number is a factor of the key). In both cases, classical computers are enough to find the factors. In fact, due to this fact, even large numbers are not used in encryptions. Here, for the UI layer I used Streamlit . Also, I kept an option in the dropdown so users don’t accidentally enter a number that crashes their computer. On the right side, there is a wave that shows the repetition of the period for some timeline. In the next update I will also add a simulation on how we make encryptions that tolerate these quantum attacks. I will push it on GitHub so you can check this version.
Devlog 2: Securing the Keys So guys, Earlier I implemented the Shor's algorithm that shows how Traditional encryptions could be broken easily with Quantum computers , this time I did demonstration of how we can protect our Secrets from Quantum technology . Basically If you know about Cryptographic encryptions , you might know that we actually never reveal the secret keys while communicating with other parties instead we use our Public keys to do so, which is nothing but simply a mathematical wrap that is generated with help of secret keys and then mathematical blanket over it makes it harder to guess which secret keys might have generated that Public key . Both Traditional and Post quantum cryptography are different ways to wrap that secret against the potential threats. Earlier when we used very large prime number we relied on computational limits of classical computers that they will practically take so much time to break the pattern and we enjoyed the security until quantum computers came and started to break that same computational limits at very fast pace, then we needed something that QPUs cannot break and we decided that we would use methods which is not a mathematical complexity but just complete chaos and randomness . One of popular way is Lattice cryptography where we insert random errors in public keys that no obvious pattern is recognized by Quantum . Hence safe against QPU and Classical both. I have used simple linear equations instead of how actual matrices used by real life encryptions but for understanding analogically same things that generates public output( b ), public keys ( a ), inserted error and bounded by particular modulus . The idea is same that we would use these Linear equations for Cryptographic handshake between different parties. Noise would make it difficult to reveal secret hence our Objective is fulfilled. You can play with Parameters and if you have some idea and want to contribute, the repo is open. Thanks for Reading!
Ships:
I made a Mathematical demonstration of How our traditional cryptographic methods use larger composite numbers whose prime factors are difficult for classical computers, hence public key was safe but after quantum computers, this computational limits could break by period finding. Secondly next demo was of how we can protect our secret key using noise so patterns become less obvious and neither classical nor quantum computers can break it. So major learning i got is of shor’s algorithm and how encryptions really work....
|
1793155858.3047993
|
1793242258.3047993
|
|
17264
|
AmendOS : A GPU-Accelerated Web OS by @Umang | Sta AmendOS : A GPU-Accelerated Web OS by @Umang | Stardance...
|
Umang
|
0
|
1.89
|
0
|
[]
|
[{"post_id": 7887, "ts": "2026 [{"post_id": 7887, "ts": "2026-06-13T05:04:46Z", "hours": 0.2683, "text": "Walkthorugh of the Project AmendOS"}, {"post_id": 7877, "ts": "2026-06-13T04:26:20Z", "hours": 0.3519, "text": "AmendOS is officially around 50% done , and it’s finally starting to feel like an actual operating system instead of just a web project. Over the past few sessions, I’ve built and refined the core desktop experience, including the menu bar, Dock, window manager, Finder, virtual file system, settings, widgets, and a Linux-inspired terminal. I’ve also been working on integrating real applications and designing the architecture for future support of user-owned GPU servers and remote workstations. A lot of time has gone into polishing the UI to move away from the generic “WebOS” look and closer to something people would genuinely enjoy using every day. There’s still a long way to go—especially around real app execution, Launchpad, backend connectivity, and overall polish—but seeing AmendOS boot up and function like a real desktop environment has been incredibly motivating. It’s messy, experimental, and constantly evolving, but that’s exactly what makes building it fun."}, {"post_id": 7537, "ts": "2026-06-12T16:12:31Z", "hours": 1.265, "text": "You can link your own GPU Clusters through a pipeline or locally on your nwtwork and link it with my Web OS and Access a very powerful computer in your hands. You can use VPS also and link them here and now you will have a GUI backed with your powerful VPS or Homeserver or Your own Computer. Here’s the first look of it:"}]...
|
Title: AmendOS : A GPU-Accelerated Web OS by @Uman Title: AmendOS : A GPU-Accelerated Web OS by @Umang | Stardance
Devlogs:
You can link your own GPU Clusters through a pipeline or locally on your nwtwork and link it with my Web OS and Access a very powerful computer in your hands. You can use VPS also and link them here and now you will have a GUI backed with your powerful VPS or Homeserver or Your own Computer. Here’s the first look of it:
AmendOS is officially around 50% done , and it’s finally starting to feel like an actual operating system instead of just a web project. Over the past few sessions, I’ve built and refined the core desktop experience, including the menu bar, Dock, window manager, Finder, virtual file system, settings, widgets, and a Linux-inspired terminal. I’ve also been working on integrating real applications and designing the architecture for future support of user-owned GPU servers and remote workstations. A lot of time has gone into polishing the UI to move away from the generic “WebOS” look and closer to something people would genuinely enjoy using every day. There’s still a long way to go—especially around real app execution, Launchpad, backend connectivity, and overall polish—but seeing AmendOS boot up and function like a real desktop environment has been incredibly motivating. It’s messy, experimental, and constantly evolving, but that’s exactly what makes building it fun.
Walkthorugh of the Project AmendOS...
|
1793137743.6345403
|
1793742543.6345403
|
|
69083
|
My awesome macropad! by @avab | Stardance
|
avab
|
0
|
0.52
|
0
|
[]
|
[{"post_id": 78865, "ts": "202 [{"post_id": 78865, "ts": "2026-10-11T20:08:11Z", "hours": 0.515, "text": "Downloaded KiCad, followed the Hackpad guide to draw the schematic and route the PCB."}]...
|
Title: My awesome macropad! by @avab | Stardance
Title: My awesome macropad! by @avab | Stardance
Devlogs:
Downloaded KiCad, followed the Hackpad guide to draw the schematic and route the PCB....
|
1793130534.3506773
|
1793735334.3506773
|
|
67910
|
PEET by @OrderDanie | Stardance
|
OrderDanie
|
0
|
0.3
|
0
|
[]
|
[{"post_id": 78864, "ts": "202 [{"post_id": 78864, "ts": "2026-10-11T20:05:27Z", "hours": 0.3, "text": "i tried EVERYTHING TO UNBLUR IT, its still bluryy :("}]...
|
Title: PEET by @OrderDanie | Stardance
Devlogs:
i Title: PEET by @OrderDanie | Stardance
Devlogs:
i tried EVERYTHING TO UNBLUR IT, its still bluryy :(...
|
1793116196.5288937
|
1793720996.5288937
|
|
61922
|
ball rage game. by @declansk | Stardance
|
declansk
|
0
|
4.91
|
0
|
[]
|
[{"post_id": 78862, "ts": "202 [{"post_id": 78862, "ts": "2026-10-11T19:55:02Z", "hours": 2.3128, "text": "I have changed a lot I have the physics worked out a lot better and now have controls very similar to get to work. I now plan to work on levels and more gimmicks"}, {"post_id": 67832, "ts": "2026-09-14T02:51:13Z", "hours": 0.4, "text": "I need to get the physics right and make some game play then it will begin to come together."}, {"post_id": 67767, "ts": "2026-09-14T00:38:41Z", "hours": 2.1983, "text": "I made a Unity ball game where it rolls lmao."}]...
|
Title: ball rage game. by @declansk | Stardance
D Title: ball rage game. by @declansk | Stardance
Devlogs:
I made a Unity ball game where it rolls lmao.
I need to get the physics right and make some game play then it will begin to come together.
I have changed a lot I have the physics worked out a lot better and now have controls very similar to get to work. I now plan to work on levels and more gimmicks...
|
1793044064.4285917
|
1793648864.4285917
|
|
68735
|
Kaku Blog by @yoru_ayan | Stardance
|
yoru_ayan
|
0
|
7.39
|
0
|
[]
|
[{"post_id": 78860, "ts": "202 [{"post_id": 78860, "ts": "2026-10-11T19:52:39Z", "hours": 0.6272, "text": "I mess up with the 3 repo and ended up pushing my updated code into master branch with node modules and now i am not able to enven create the pull reques t so i can meage the main and amster so in the end i am now just hosting the Blog wesbite and then server."}, {"post_id": 78018, "ts": "2026-10-09T07:02:17Z", "hours": 6.7647, "text": "Finally after teh grindig of 8Hr Build the basic strcutre of the blog wesbite, The user Auth, Post creation, Feed is build and now i will work on the UI soon"}]...
|
Title: Kaku Blog by @yoru_ayan | Stardance
Devlog Title: Kaku Blog by @yoru_ayan | Stardance
Devlogs:
Finally after teh grindig of 8Hr Build the basic strcutre of the blog wesbite, The user Auth, Post creation, Feed is build and now i will work on the UI soon
I mess up with the 3 repo and ended up pushing my updated code into master branch with node modules and now i am not able to enven create the pull reques t so i can meage the main and amster so in the end i am now just hosting the Blog wesbite and then server....
|
1793123646.3448968
|
1793728446.3448968
|
|
7474
|
AXIS by @Sem_Acou | Stardance
|
Sem_Acou
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-27T20:46:12Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I finished my balancin robot assembly! Today I finally finished my dual wheeled balancing robot that I spent such a long time making (mainly because of deliverytimes)! I did have to resolder my entire pcb because I soldered my motor driver on… upside down 🫣But all good now! I then integrated everything into the 3d printed frame. And voila, the robot is done!! … for the hardware side Luckly I did make the code beforehand while waiting for deliveries and such! I also added a feature to steer the robot with my hands!!! (see video in the github ‘gallery’ folder) I was very lucky that this code almost worked from the beginning, I only still need to tune my PID a bit more but since Stardance is ending I needed to ship now😥 I want to thank you all for following my journey here!!", "repo": "https://github.com/MrQuaq/AXIS", "demo": ""}]...
|
[{"post_id": 78859, "ts": "202 [{"post_id": 78859, "ts": "2026-10-11T19:51:12Z", "hours": 3.2489, "text": "My parts arrived! Hi again! It’s been a long long time since my last devlog. The reason… MY PARTSSS! They finally arrived, in the mean time I printed the entire frame and prepared everything. The great news is! I already soldered everything, it went so smoothly. Only things left are testing if my pcb works aandd integrating it into the frame! See you (hopefully in not that long of a time)"}, {"post_id": 35803, "ts": "2026-07-27T13:56:11Z", "hours": 5.0336, "text": "I finally finished the CAD! Today I finally finished the 3D CAD model of my balancing robot called AXIS! I had some setbacks and difficulties along the way, but that’s normal! Eventually I found a solution for all of them! That’s exactly what engineering is about! Let’s get printing Oh god… this will take days😥"}, {"post_id": 31427, "ts": "2026-07-19T19:46:29Z", "hours": 6.2958, "text": "It’s been a while! In the mean time I have been working on the frame for the robot! I mainly did some prototyping for the motor mounts. Which went… let’s say “could have gone better”😅 I had to print multiple protorypes because the motors have a fairly irregular shape, and I’m not good enough to do it first try…😅 Also, because of some mistakes when saving, there sometimes missed parts on the print that I did actually change. Which caused some errors in my brain. Next up is the PCB and battery housing (the head of the robot)"}, {"post_id": 16966, "ts": "2026-06-27T15:23:54Z", "hours": 4.5006, "text": "I spent way too long on this issue 🥲 You know, a project isnt a project when theres not one moment where you think that is SO over! That was today! I began testing some parts of the hardware before ordering the PCB and without putting it inside the frame. At first everything went smoothly (supicously smoothly), but then… My motors began doing some weird ahh stuff where they reacted way too late after I tilted the sensor. I thought, it must be some timing issue, or my code is just so poorly written that its running too slow. I tried some methods to make it faster (less lcd updates, etc.) Still nothing… Then I made a little debugging program to find out the frequency at which the code runs, and the delta time variable. Turns out that this wasnt the problem at all!! My frequency and delta time were perfect! … Thats when I made the discovery that I didnt think about the PID values. I just set them to some number and didn’t give it a second thought because I wont tune it anyways without the frame… But of course the motors wont respond as I hoped they would if the values weren’t even close to what they need to be😑 But we’re back babyyyyyy!!!! Next is the frame design and CAD!"}, {"post_id": 12725, "ts": "2026-06-20T19:59:42Z", "hours": 1.7178, "text": "Today I integrated the new IMU i’m using into the code. (also had some beef with the library) I edited my code to accomodate for the other IMU I’m using (since i broke the previous one, whoooppss) After that I quickly tested the measured and filtered data, along with the pid output data. Next up I’m gonna test my motors and encoders!"}, {"post_id": 10153, "ts": "2026-06-16T19:26:02Z", "hours": 0.4675, "text": "Have been working on this project for a while (before stardust). I’m making a balancing robot using an IMU and some DC-motors with encoders. I’m trying to make it controlable with an xbox controller and it uses a PID algorithm to balance itself. Right now I have: code for measuring, computing, controlling the motors and receiving inputs from the xbox controller(untested) a pcb design which i can mount breakout boards on What’s still up: testing the code a lot! getting the actual pcb 3d modelling the frame"}]...
|
Title: AXIS by @Sem_Acou | Stardance
Devlogs:
Hav Title: AXIS by @Sem_Acou | Stardance
Devlogs:
Have been working on this project for a while (before stardust). I’m making a balancing robot using an IMU and some DC-motors with encoders. I’m trying to make it controlable with an xbox controller and it uses a PID algorithm to balance itself. Right now I have: code for measuring, computing, controlling the motors and receiving inputs from the xbox controller(untested) a pcb design which i can mount breakout boards on What’s still up: testing the code a lot! getting the actual pcb 3d modelling the frame
Today I integrated the new IMU i’m using into the code. (also had some beef with the library) I edited my code to accomodate for the other IMU I’m using (since i broke the previous one, whoooppss) After that I quickly tested the measured and filtered data, along with the pid output data. Next up I’m gonna test my motors and encoders!
I spent way too long on this issue 🥲 You know, a project isnt a project when theres not one moment where you think that is SO over! That was today! I began testing some parts of the hardware before ordering the PCB and without putting it inside the frame. At first everything went smoothly (supicously smoothly), but then… My motors began doing some weird ahh stuff where they reacted way too late after I tilted the sensor. I thought, it must be some timing issue, or my code is just so poorly written that its running too slow. I tried some methods to make it faster (less lcd updates, etc.) Still nothing… Then I made a little debugging program to find out the frequency at which the code runs, and the delta time variable. Turns out that this wasnt the problem at all!! My frequency and delta time were perfect! … Thats when I made the discovery that I didnt think about the PID values. I just set them to some number and didn’t give it a second thought because I wont tune it anyways without the frame… But of course the motors wont respond as I hoped they would if the values weren’t even close to what they need to be😑 But we’re back babyyyyyy!!!! Next is the frame design and CAD!
It’s been a while! In the mean time I have been working on the frame for the robot! I mainly did some prototyping for the motor mounts. Which went… let’s say “could have gone better”😅 I had to print multiple protorypes because the motors have a fairly irregular shape, and I’m not good enough to do it first try…😅 Also, because of some mistakes when saving, there sometimes missed parts on the print that I did actually change. Which caused some errors in my brain. Next up is the PCB and battery housing (the head of the robot)
I finally finished the CAD! Today I finally finished the 3D CAD model of my balancing robot called AXIS! I had some setbacks and difficulties along the way, but that’s normal! Eventually I found a solution for all of them! That’s exactly what engineering is about! Let’s get printing Oh god… this will take days😥
My parts arrived! Hi again! It’s been a long long time since my last devlog. The reason… MY PARTSSS! They finally arrived, in the mean time I printed the entire frame and prepared everything. The great news is! I already soldered everything, it went so smoothly. Only things left are testing if my pcb works aandd integrating it into the frame! See you (hopefully in not that long of a time)
Ships:
I finished my balancin robot assembly! Today I finally finished my dual wheeled balancing robot that I spent such a long time making (mainly because of deliverytimes)! I did have to resolder my entire pcb because I soldered my motor driver on… upside down 🫣But all good now! I then integrated everything into the 3d printed frame. And voila, the robot is done!! … for the hardware side Luckly I did make the code beforehand while waiting for deliveries and such! I also added a feature to steer the robot with my hands!!! (see video in the github ‘gallery’ folder) I was very lucky that this code almost worked from the beginning, I only still need to tune my PID a bit more but since Stardance is ending I needed to ship now😥 I want to thank you all for following my journey here!!...
|
1793249364.9926393
|
1793335764.9926393
|
|
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
|
|
56742
|
Minimalistic Alarm Clock by @iloveadrenaline | Sta Minimalistic Alarm Clock by @iloveadrenaline | Stardance...
|
iloveadrenaline
|
0
|
8.9
|
0
|
[]
|
[{"post_id": 78851, "ts": "202 [{"post_id": 78851, "ts": "2026-10-11T19:26:02Z", "hours": 1.4978, "text": "Devlog 6 : Almost finished the case Rotated it at 25 degree so it is comfortable to use Did the support wedge"}, {"post_id": 78804, "ts": "2026-10-11T17:26:10Z", "hours": 0.8244, "text": "Devlog 5 : Made the case standoffs and working on the top cover"}, {"post_id": 77131, "ts": "2026-10-05T18:51:59Z", "hours": 3.0969, "text": "Devlog 4 : -Just did the case and I’m about 30% finished lol -It is hard for me , as a complete beginner lol -This time was in a day"}, {"post_id": 67622, "ts": "2026-09-13T19:28:26Z", "hours": 1.8483, "text": "Hi Devlog 3 : -Remade the PCB because I wanted to add an ec11 encoder -Put the Github link and Hackpad text boxes on PCB -Put the 3d Models of the components except the screen Finally I got my PC and I can get back to work . I got a PC with R5 5600 and RX 590"}, {"post_id": 59104, "ts": "2026-08-31T18:43:42Z", "hours": 1.0389, "text": "DevLog 2 : -Finished the clock’s PCB I think -Now comes the CAD I will take a short break because I will sell my PC"}, {"post_id": 58892, "ts": "2026-08-31T13:46:24Z", "hours": 0.5894, "text": "DevLog 1 : -Imported the necessary packages -Made the clock’s Schematic"}]...
|
Title: Minimalistic Alarm Clock by @iloveadrenalin Title: Minimalistic Alarm Clock by @iloveadrenaline | Stardance
Devlogs:
DevLog 1 : -Imported the necessary packages -Made the clock’s Schematic
DevLog 2 : -Finished the clock’s PCB I think -Now comes the CAD I will take a short break because I will sell my PC
Hi Devlog 3 : -Remade the PCB because I wanted to add an ec11 encoder -Put the Github link and Hackpad text boxes on PCB -Put the 3d Models of the components except the screen Finally I got my PC and I can get back to work . I got a PC with R5 5600 and RX 590
Devlog 4 : -Just did the case and I’m about 30% finished lol -It is hard for me , as a complete beginner lol -This time was in a day
Devlog 5 : Made the case standoffs and working on the top cover
Devlog 6 : Almost finished the case Rotated it at 25 degree so it is comfortable to use Did the support wedge...
|
1792677050.4441419
|
1793281850.4441419
|
|
68348
|
GravOS by @obedot | Stardance
|
obedot
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T19:44:41Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "GravOS is now complete! I made a simple web-based operating system with a basic desktop UI. GravOS is about a robot named Grav, who is a character from my game SuperOrbital. Grav is an assistant that helps the main character on their journey. One of the things I found challenging was making the scrolling work correctly inside the apps. When the text wouldn’t fit inside the window, it would just overflow past the boundaries of the window instead of creating a scrollbar and clipping the content. Eventually I figured it out by changing the css display property from block to flex. I am very proud of the parallaxing background, because I think it looks really cool unique. The images themselves were copied over from my other project, but getting the scrolling to work correctly took a bit of time. You can test the project by clicking the Try Project link. You can click on the buttons on the bottom bar such as “Welcome”, “Check Out SuperOrbital” and “Todo List” to open up the apps, and click the X icon in the top right corner of the window to close it. You can drag windows around by clicking and dragging on the top part of the window.", "repo": "https://github.com/ObedH/GravOS", "demo": "https://obedh.github.io/GravOS/"}]...
|
[{"post_id": 78850, "ts": "202 [{"post_id": 78850, "ts": "2026-10-11T19:20:52Z", "hours": 0.6978, "text": "Added a space-themed parallaxing background and a todo list app Making the background was a little bit tricky. I originally made the shader for a different project, SuperOrbital. I used Godot’s movie maker to render the three different parallax layers to images, then I used css to make the images repeat and slide at different speeds. The todo list was really quite easy to make, it’s just a list of checkboxes and text input fields."}, {"post_id": 78826, "ts": "2026-10-11T18:16:53Z", "hours": 0.3225, "text": "Added a new window which tells you about SuperOrbital It took me a while to get the scrolling working on the windows, but I have now successfully added a second functional application which can show you one of my other projects. SuperOrbital is a game I made in Godot for stardance, and it’s basically the theme of this WebOS."}, {"post_id": 77950, "ts": "2026-10-08T22:50:26Z", "hours": 0.9628, "text": "Added an app that lets you check out SuperOrbital (another game I made) The scrollbar is acting weird, and the text overflows, but I couldn’t figure out how to fix it."}, {"post_id": 77683, "ts": "2026-10-07T21:07:04Z", "hours": 2.0906, "text": "I set up the basic desktop interface (mostly just following the WebOS tutorial at this stage) I just got started on GravOS, a web OS about a fictional robot assistant named Grav. Grav is a character in SuperOrbital, which is another one of my stardance projects. Here, I made a simple background and a window that can open and close. I used the WebOS tutorial to learn how to use HTML and CSS, and I found it very helpful."}]...
|
Title: GravOS by @obedot | Stardance
Devlogs:
I s Title: GravOS by @obedot | Stardance
Devlogs:
I set up the basic desktop interface (mostly just following the WebOS tutorial at this stage) I just got started on GravOS, a web OS about a fictional robot assistant named Grav. Grav is a character in SuperOrbital, which is another one of my stardance projects. Here, I made a simple background and a window that can open and close. I used the WebOS tutorial to learn how to use HTML and CSS, and I found it very helpful.
Added an app that lets you check out SuperOrbital (another game I made) The scrollbar is acting weird, and the text overflows, but I couldn’t figure out how to fix it.
Added a new window which tells you about SuperOrbital It took me a while to get the scrolling working on the windows, but I have now successfully added a second functional application which can show you one of my other projects. SuperOrbital is a game I made in Godot for stardance, and it’s basically the theme of this WebOS.
Added a space-themed parallaxing background and a todo list app Making the background was a little bit tricky. I originally made the shader for a different project, SuperOrbital. I used Godot’s movie maker to render the three different parallax layers to images, then I used css to make the images repeat and slide at different speeds. The todo list was really quite easy to make, it’s just a list of checkboxes and text input fields.
Ships:
GravOS is now complete! I made a simple web-based operating system with a basic desktop UI. GravOS is about a robot named Grav, who is a character from my game SuperOrbital. Grav is an assistant that helps the main character on their journey. One of the things I found challenging was making the scrolling work correctly inside the apps. When the text wouldn’t fit inside the window, it would just overflow past the boundaries of the window instead of creating a scrollbar and clipping the content. Eventually I figured it out by changing the css display property from block to flex. I am very proud of the parallaxing background, because I think it looks really cool unique. The images themselves were copied over from my other project, but getting the scrolling to work correctly took a bit of time. You can test the project by clicking the Try Project link. You can click on the buttons on the bottom bar such as “Welcome”, “Check Out SuperOrbital” and “Todo List” to open up the apps, and click the X icon in the top right corner of the window to close it. You can drag windows around by clicking and dragging on the top part of the window....
|
1793220923.6274471
|
1793307323.6274471
|
|
68977
|
Upvotes by @404_ | Stardance
|
404_
|
1
|
4.0
|
39
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T19:31:13Z", "hours": 4.0, "multiplier": 10.93, "payout": 39, "blessing": "neutral", "text": "I made Upvotes, a reddit-like social media platform that has no hate! The backend was probably the most difficult part. I really like the way that I designed the frontend! You need to create an account to use it, but your email remains anonymous!", "repo": "https://github.com/DecisionProblem/Upvotes/", "demo": "https://upvotes-nine.vercel.app/"}]...
|
[{"post_id": 78849, "ts": "202 [{"post_id": 78849, "ts": "2026-10-11T19:18:06Z", "hours": 1.0803, "text": "I finally finished the platform, almost ready to ship! You can try it now."}, {"post_id": 78762, "ts": "2026-10-11T15:04:34Z", "hours": 1.7322, "text": "Just finished the HTML, JS, and backend"}, {"post_id": 78349, "ts": "2026-10-10T15:03:31Z", "hours": 0.7508, "text": "Wrote all of the CSS for the page"}]...
|
Title: Upvotes by @404_ | Stardance
Devlogs:
Wrot Title: Upvotes by @404_ | Stardance
Devlogs:
Wrote all of the CSS for the page
Just finished the HTML, JS, and backend
I finally finished the platform, almost ready to ship! You can try it now.
Ships:
I made Upvotes, a reddit-like social media platform that has no hate! The backend was probably the most difficult part. I really like the way that I designed the frontend! You need to create an account to use it, but your email remains anonymous!...
|
1793217322.8020842
|
1793303722.8020842
|
|
69022
|
Cc by @kevgar1810 | Stardance
|
kevgar1810
|
0
|
0.73
|
0
|
[]
|
[{"post_id": 78847, "ts": "202 [{"post_id": 78847, "ts": "2026-10-11T19:16:32Z", "hours": 0.7336, "text": "I got the start up menu done"}]...
|
Title: Cc by @kevgar1810 | Stardance
Devlogs:
I g Title: Cc by @kevgar1810 | Stardance
Devlogs:
I got the start up menu done...
|
1792475564.133996
|
1793339564.133996
|
|
67994
|
AstroSpark WebOS by @MasterCoder | Stardance
|
MasterCoder
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T19:17:47Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created a WebOS that sparks the galaxy!!! My main toughest challenges were coding the ISS tracker, adding the cursor hover detection dock magnification, and creating a settings app. Plus, if you click the top AstroSparkOS text in the top bar, it will open a hidden app called Who Am I that gives details of me.", "repo": "https://github.com/MasterCoder360/AstroSpark", "demo": "https://mastercoder360.github.io/AstroSpark/"}]...
|
[{"post_id": 78846, "ts": "202 [{"post_id": 78846, "ts": "2026-10-11T19:12:50Z", "hours": 2.7931, "text": "Hi again! Welcome back to my final devlog! I finally wrote my README and I added a calendar, files cabinet, and settings app. I updated the startup boot and added an AI generated logo. New settings features include, changing the background, changing the window tint, increasing or decreasing window opacity with a slider, changing the icon size in dock, and reset to the defaults button. As I said this is my final devlog, so I will mention all my other features too. I also changed the code so that when you click AstroSparkOS in the top-right of the bar it will open a hidden app called Who Am I. There are drag-able windows, glassy effects, live backgrounds, and more features coming in Web OS 2!!! I aslo added a video instead of a picture to demonstrate features below!"}, {"post_id": 77893, "ts": "2026-10-08T17:55:13Z", "hours": 0.9692, "text": "Welcome back! After about an hour more of coding. I changed the app emojis to colored icons. The ISS tracker took a lot of time and google searches for building a real ISS tracker from an API. After I added it, I had a huge blob of bugs and needed AI to debug it. I updated the web browser app, added a notes app, calculator app, and a terminal app. I also coded a launcher."}, {"post_id": 77168, "ts": "2026-10-05T21:31:18Z", "hours": 2.375, "text": "I am working on AstroSpark Web OS. An OS that sparks the galaxy! I only added a top menu bar, bottom app dock. And 4 apps, Welcome App, Flexbox Froggy, NASA Spaceship Tracker, and a iframe-based web browser. It includes a live Black Hole background too. I will keep actively developing this app."}]...
|
Title: AstroSpark WebOS by @MasterCoder | Stardanc Title: AstroSpark WebOS by @MasterCoder | Stardance
Devlogs:
I am working on AstroSpark Web OS. An OS that sparks the galaxy! I only added a top menu bar, bottom app dock. And 4 apps, Welcome App, Flexbox Froggy, NASA Spaceship Tracker, and a iframe-based web browser. It includes a live Black Hole background too. I will keep actively developing this app.
Welcome back! After about an hour more of coding. I changed the app emojis to colored icons. The ISS tracker took a lot of time and google searches for building a real ISS tracker from an API. After I added it, I had a huge blob of bugs and needed AI to debug it. I updated the web browser app, added a notes app, calculator app, and a terminal app. I also coded a launcher.
Hi again! Welcome back to my final devlog! I finally wrote my README and I added a calendar, files cabinet, and settings app. I updated the startup boot and added an AI generated logo. New settings features include, changing the background, changing the window tint, increasing or decreasing window opacity with a slider, changing the icon size in dock, and reset to the defaults button. As I said this is my final devlog, so I will mention all my other features too. I also changed the code so that when you click AstroSparkOS in the top-right of the bar it will open a hidden app called Who Am I. There are drag-able windows, glassy effects, live backgrounds, and more features coming in Web OS 2!!! I aslo added a video instead of a picture to demonstrate features below!
Ships:
I created a WebOS that sparks the galaxy!!! My main toughest challenges were coding the ISS tracker, adding the cursor hover detection dock magnification, and creating a settings app. Plus, if you click the top AstroSparkOS text in the top bar, it will open a hidden app called Who Am I that gives details of me....
|
1793217184.5871646
|
1793303584.5871646
|
|
42654
|
multipad by @lukas_gye2 | Stardance
|
lukas_gye2
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T19:04:19Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A 3x4 Numpad witha second layer used for other controles", "repo": "https://github.com/luklab63/hack-pad", "demo": ""}]...
|
[{"post_id": 78842, "ts": "202 [{"post_id": 78842, "ts": "2026-10-11T19:03:07Z", "hours": 0.6164, "text": "Finished the Hackpad"}, {"post_id": 41556, "ts": "2026-08-05T20:55:10Z", "hours": 2.7006, "text": "finished working on the FIrmware today"}, {"post_id": 40418, "ts": "2026-08-03T22:10:53Z", "hours": 2.6167, "text": "finished 3D modeling"}, {"post_id": 38945, "ts": "2026-08-01T15:38:36Z", "hours": 1.7894, "text": "Finished working on the PCB"}, {"post_id": 38874, "ts": "2026-08-01T13:10:36Z", "hours": 2.5833, "text": "working on PCB. having some issues with the footprints for the LEDs"}]...
|
Title: multipad by @lukas_gye2 | Stardance
Devlog Title: multipad by @lukas_gye2 | Stardance
Devlogs:
working on PCB. having some issues with the footprints for the LEDs
Finished working on the PCB
finished 3D modeling
finished working on the FIrmware today
Finished the Hackpad
Ships:
A 3x4 Numpad witha second layer used for other controles...
|
1793145296.4206362
|
1793231696.4206362
|
|
69218
|
BLARE by @rugved_gogawale | Stardance
|
rugved_gogawale
|
0
|
0.45
|
0
|
[]
|
[{"post_id": 78836, "ts": "202 [{"post_id": 78836, "ts": "2026-10-11T18:46:24Z", "hours": 0.4492, "text": "learning basics of python"}]...
|
Title: BLARE by @rugved_gogawale | Stardance
Devl Title: BLARE by @rugved_gogawale | Stardance
Devlogs:
learning basics of python...
|
1793130754.587592
|
1793994754.587592
|
|
68997
|
My awesome macropad! by @fudgeis | Stardance
|
fudgeis
|
0
|
2.19
|
0
|
[]
|
[{"post_id": 78835, "ts": "202 [{"post_id": 78835, "ts": "2026-10-11T18:41:35Z", "hours": 2.1892, "text": "Im working on a 12 key Solderless Macropad . I will add copper tracing"}]...
|
Title: My awesome macropad! by @fudgeis | Stardanc Title: My awesome macropad! by @fudgeis | Stardance
Devlogs:
Im working on a 12 key Solderless Macropad . I will add copper tracing...
|
1793127333.6148021
|
1793732133.6148021
|
|
53286
|
VPipeline by @devanksinghchaudhary | Stardance
|
devanksinghchaudhary
|
0
|
14.01
|
0
|
[]
|
[{"post_id": 78828, "ts": "202 [{"post_id": 78828, "ts": "2026-10-11T18:20:00Z", "hours": 0.3667, "text": "Finally reached ugly rendering mark Now VPipeline reached the mp4 mark, yes ugly but there is hell lot of room for improvement. Past the breakthrough. Currently pipeline is not ready to render automatically. But its not a issue. Current rendering part is messy and manual, I mean just have to run one command to preview like below. Not link, but pictures and videos https://github.com/devanksinghchaudhary/VPipeline"}, {"post_id": 78318, "ts": "2026-10-10T12:17:51Z", "hours": 2.19, "text": "18 Days of my life These were hardest 18 days of my life, didn’t code for straight 18 days. Had self-doubt, doubt on my career, projects, etc are they going to succeed or not? It was hard but teaching days. But now I am back on my projects. Feel free to check, give suggestion, improve. https://github.com/devanksinghchaudhary/vpipeline"}, {"post_id": 72309, "ts": "2026-09-22T17:11:27Z", "hours": 0.9608, "text": "Adding some components to remotion’s renderer. As remotion is react based, then all react framework does work in it, so shadcn ui will work and all the components of that framework can be used in creating videos. Primarly charts, type set etc. Hope this does well, I am excited to make this work."}, {"post_id": 67854, "ts": "2026-09-14T04:09:39Z", "hours": 1.1536, "text": "VPipeline I have been working on this project for while now. It’s turing out well till now, but I’m not sure if it will work or not. I am like you, working to change my condition, I don’t know why I’m wiriting all this. This is my ultimate shot to prove myself and shot to get out of the condition I’m in. As this is video creation pipeline I am planning to start my own channels on yt to upload, this could go wrong or right but I have this only, one shot. My take is just this, Don’t stop or giveup from this journey."}, {"post_id": 66697, "ts": "2026-09-12T16:01:39Z", "hours": 1.7836, "text": "Going good!"}, {"post_id": 65763, "ts": "2026-09-11T03:37:30Z", "hours": 1.4578, "text": "Hard https://devanksinghchaudhary.github.io/vpipeline"}, {"post_id": 62201, "ts": "2026-09-05T13:50:40Z", "hours": 3.1881, "text": "Have some plans regarding rendering part. How? Why? What? etc. Now I have some direction regarding this part, how I might execute it, more detailed on https://devanksinghchaudhary.github.io/now/"}, {"post_id": 57289, "ts": "2026-08-29T12:14:22Z", "hours": 1.1794, "text": "Working on the Rendering part of the pipeline now. The hardest part is to make it dynamic not just one type of visuals everytime but actually autonomous and dynamic. read about it: https://devanksinghchaudhary.github.io/vpipeline"}, {"post_id": 54437, "ts": "2026-08-25T13:31:30Z", "hours": 1.7339, "text": "Autonomous Video Creation/Editing Pipeline. It’s basically from “TOPIC” to “.mp4” without HIL(Human-in-Loop)"}]...
|
Title: VPipeline by @devanksinghchaudhary | Starda Title: VPipeline by @devanksinghchaudhary | Stardance
Devlogs:
Autonomous Video Creation/Editing Pipeline. It’s basically from “TOPIC” to “.mp4” without HIL(Human-in-Loop)
Working on the Rendering part of the pipeline now. The hardest part is to make it dynamic not just one type of visuals everytime but actually autonomous and dynamic. read about it: https://devanksinghchaudhary.github.io/vpipeline
Have some plans regarding rendering part. How? Why? What? etc. Now I have some direction regarding this part, how I might execute it, more detailed on https://devanksinghchaudhary.github.io/now/
Hard https://devanksinghchaudhary.github.io/vpipeline
Going good!
VPipeline I have been working on this project for while now. It’s turing out well till now, but I’m not sure if it will work or not. I am like you, working to change my condition, I don’t know why I’m wiriting all this. This is my ultimate shot to prove myself and shot to get out of the condition I’m in. As this is video creation pipeline I am planning to start my own channels on yt to upload, this could go wrong or right but I have this only, one shot. My take is just this, Don’t stop or giveup from this journey.
Adding some components to remotion’s renderer. As remotion is react based, then all react framework does work in it, so shadcn ui will work and all the components of that framework can be used in creating videos. Primarly charts, type set etc. Hope this does well, I am excited to make this work.
18 Days of my life These were hardest 18 days of my life, didn’t code for straight 18 days. Had self-doubt, doubt on my career, projects, etc are they going to succeed or not? It was hard but teaching days. But now I am back on my projects. Feel free to check, give suggestion, improve. https://github.com/devanksinghchaudhary/vpipeline
Finally reached ugly rendering mark Now VPipeline reached the mp4 mark, yes ugly but there is hell lot of room for improvement. Past the breakthrough. Currently pipeline is not ready to render automatically. But its not a issue. Current rendering part is messy and manual, I mean just have to run one command to preview like below. Not link, but pictures and videos https://github.com/devanksinghchaudhary/VPipeline...
|
1792741986.590265
|
1793346786.590265
|
|
68846
|
AtherisConvert by @AaronAtheris | Stardance
|
AaronAtheris
|
1
|
7.04
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T12:29:45Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "It is unit converter but with a twist and a game in it, it has 2 modes, one is of course we all know, the normal mode, while the other mode is called the “FRENZY MODE” which would give the user false results for 40% of the time, and if the user wants to? they can play the game to see if they can catch if the unit conversion is accurate or not and it has its own ways to nudge the inaccurate units to make them believable such as switching its base, and even nudging it off by a few percentages too!!", "repo": "https://github.com/aaronstone-23/AetherConverts", "demo": "https://aether-converts.vercel.app/"}]...
|
[{"post_id": 78827, "ts": "202 [{"post_id": 78827, "ts": "2026-10-11T18:19:57Z", "hours": 1.3508, "text": "Now, because I feared that MY PRECIOUS project will be rejected because the designed looked “AI GENERATED” and I didn’t want that, so that’s why I went out of my way and then just scraped all the CSS and then build the whole CSS by myself with using different references, figma, and also a bit of AI for some bug fixing as vercel wasn’t displaying text, turns out I had made a typo where I forgot to apply the unit of font-size but whatever it is! I MADE IT and it looks veryy prettyAND FOR FINALLYY IT DOENST LOOKS VIBE CODED ATLEAST T-T"}, {"post_id": 78778, "ts": "2026-10-11T16:12:03Z", "hours": 0.6928, "text": "People we got rejected for shipping the project because it “LOOKED” AI, so WE ARE REDOING IT!!! AND LITERALLY IM WRITING THE CSS BY HAND NOW🤧🤧🤧🤧😭😭😭😭😭😭 (and also using figma and then stealing that design into code either by referencing or just asking AI to just give me a snippet)"}, {"post_id": 78721, "ts": "2026-10-11T12:26:38Z", "hours": 3.8156, "text": "The converter came to life!!! and like yeah it looks awesome, sorry i forgot to devlog here T-T"}, {"post_id": 78336, "ts": "2026-10-10T14:03:55Z", "hours": 1.4139, "text": "Sooo I’m working on a Unit converter but uh… well Ik its simple, thats why it would have a chance of gaslighting you!! (white screen of death achieved T-T)"}]...
|
Title: AtherisConvert by @AaronAtheris | Stardance Title: AtherisConvert by @AaronAtheris | Stardance
Devlogs:
Sooo I’m working on a Unit converter but uh… well Ik its simple, thats why it would have a chance of gaslighting you!! (white screen of death achieved T-T)
The converter came to life!!! and like yeah it looks awesome, sorry i forgot to devlog here T-T
People we got rejected for shipping the project because it “LOOKED” AI, so WE ARE REDOING IT!!! AND LITERALLY IM WRITING THE CSS BY HAND NOW🤧🤧🤧🤧😭😭😭😭😭😭 (and also using figma and then stealing that design into code either by referencing or just asking AI to just give me a snippet)
Now, because I feared that MY PRECIOUS project will be rejected because the designed looked “AI GENERATED” and I didn’t want that, so that’s why I went out of my way and then just scraped all the CSS and then build the whole CSS by myself with using different references, figma, and also a bit of AI for some bug fixing as vercel wasn’t displaying text, turns out I had made a typo where I forgot to apply the unit of font-size but whatever it is! I MADE IT and it looks veryy prettyAND FOR FINALLYY IT DOENST LOOKS VIBE CODED ATLEAST T-T
Ships:
It is unit converter but with a twist and a game in it, it has 2 modes, one is of course we all know, the normal mode, while the other mode is called the “FRENZY MODE” which would give the user false results for 40% of the time, and if the user wants to? they can play the game to see if they can catch if the unit conversion is accurate or not and it has its own ways to nudge the inaccurate units to make them believable such as switching its base, and even nudging it off by a few percentages too!!...
|
1793217291.6738887
|
1793303691.6738887
|
|
13391
|
Little Blueberry Adventure by @mohammedmasadeh | S Little Blueberry Adventure by @mohammedmasadeh | Stardance...
|
mohammedmasadeh
|
0
|
0.36
|
0
|
[]
|
[{"post_id": 78823, "ts": "202 [{"post_id": 78823, "ts": "2026-10-11T18:09:21Z", "hours": 0.3569, "text": "I worked on this for so much longer but I forgot to connect it because I used a new coding software so I only have 16 mins logged compared to the actual 2 but its fine."}]...
|
Title: Little Blueberry Adventure by @mohammedmasa Title: Little Blueberry Adventure by @mohammedmasadeh | Stardance
Devlogs:
I worked on this for so much longer but I forgot to connect it because I used a new coding software so I only have 16 mins logged compared to the actual 2 but its fine....
|
1793249554.1970494
|
1794113554.1970494
|
|
67934
|
Pip The Mouse: Desktop Edition by @j4y_boi | Stard Pip The Mouse: Desktop Edition by @j4y_boi | Stardance...
|
j4y_boi
|
1
|
14.0
|
157
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T18:23:54Z", "hours": 14.0, "multiplier": 10.93, "payout": 157, "blessing": "neutral", "text": "I made Pip the Mouse as a Desktop pet! Pip the Mouse was originally one of my first game projects ever, and to celebrate it’s one year anniversary (and to participate in this challange) I turned him into a pet that wanders around on your desktop! You can feed him, play with him and throw him around! You can download him from the itch.io page: https://j4y-boi.itch.io/pip-the-mouse-desktop-edition (Link to message in #playground-ships: https://hackclub.slack.com/archives/C0C51NCK1DG/p1791742520319769 )", "repo": "https://github.com/j4y-boi/pip-the-mouse-desktop-pet/", "demo": "https://j4y-boi.itch.io/pip-the-mouse-desktop-edition"}]...
|
[{"post_id": 78822, "ts": "202 [{"post_id": 78822, "ts": "2026-10-11T18:08:37Z", "hours": 1.5486, "text": "What did I do? I made an itch.io page: https://j4y-boi.itch.io/pip-the-mouse-desktop-edition I made a trailer! (I had to compress the video to upload it here, it may have better quality on Youtube): https://www.youtube.com/watch?v=o3zFl_8S51Q What remains? Nothing, I’m shipping soon!"}, {"post_id": 78478, "ts": "2026-10-10T22:11:04Z", "hours": 3.6553, "text": "What did I do? Fixed a lot of physics related bugs (and probably also created a ton, but I don’t have the willpower to search for them) Pip turns a bit during dragging (such dramatic change) What remains? The itch.io page"}, {"post_id": 77947, "ts": "2026-10-08T22:21:28Z", "hours": 1.9022, "text": "What did I do? Improve Stats/Settings menu further Fixed misc. bugs related to food physics Added smoke to the items that dissapear from the clear button What remains? Fixing Pip’s physics bugs"}, {"post_id": 77700, "ts": "2026-10-07T23:44:59Z", "hours": 1.5503, "text": "What did I do? Added saving Updated Stats menu a bit Added clear button (not visible in screenshot) What remains? Fixing collision detection when somethings on top of Pip Particles General QOL and UX improvements"}, {"post_id": 77424, "ts": "2026-10-06T22:41:42Z", "hours": 0.9092, "text": "What did I do? Fixed Pip being an immovable object Added play and feed features Added extra animations What remains? Save files Clear screen button (to remove excess food and ball)"}, {"post_id": 77164, "ts": "2026-10-05T20:58:30Z", "hours": 1.7386, "text": "What did I do? GUI can now be enabled without game being active window Clickthrough What remains? Pip actually eating the food and interacting with the ball Save files extra idle animations fixing pip being immovable object"}, {"post_id": 76873, "ts": "2026-10-04T21:51:47Z", "hours": 0.275, "text": "What did I do? fixed some misc bugs related to dragging food around What remains? Check last devlog"}, {"post_id": 76858, "ts": "2026-10-04T20:49:58Z", "hours": 2.7461, "text": "What did I do? First gameplay elements implemented art added GUI largely functional What remains? Pip actually eating the food Play feature Save files Clickthrough (The game is currently running as a fullscreen application)"}]...
|
Title: Pip The Mouse: Desktop Edition by @j4y_boi Title: Pip The Mouse: Desktop Edition by @j4y_boi | Stardance
Devlogs:
What did I do? First gameplay elements implemented art added GUI largely functional What remains? Pip actually eating the food Play feature Save files Clickthrough (The game is currently running as a fullscreen application)
What did I do? fixed some misc bugs related to dragging food around What remains? Check last devlog
What did I do? GUI can now be enabled without game being active window Clickthrough What remains? Pip actually eating the food and interacting with the ball Save files extra idle animations fixing pip being immovable object
What did I do? Fixed Pip being an immovable object Added play and feed features Added extra animations What remains? Save files Clear screen button (to remove excess food and ball)
What did I do? Added saving Updated Stats menu a bit Added clear button (not visible in screenshot) What remains? Fixing collision detection when somethings on top of Pip Particles General QOL and UX improvements
What did I do? Improve Stats/Settings menu further Fixed misc. bugs related to food physics Added smoke to the items that dissapear from the clear button What remains? Fixing Pip’s physics bugs
What did I do? Fixed a lot of physics related bugs (and probably also created a ton, but I don’t have the willpower to search for them) Pip turns a bit during dragging (such dramatic change) What remains? The itch.io page
What did I do? I made an itch.io page: https://j4y-boi.itch.io/pip-the-mouse-desktop-edition I made a trailer! (I had to compress the video to upload it here, it may have better quality on Youtube): https://www.youtube.com/watch?v=o3zFl_8S51Q What remains? Nothing, I’m shipping soon!
Ships:
I made Pip the Mouse as a Desktop pet! Pip the Mouse was originally one of my first game projects ever, and to celebrate it’s one year anniversary (and to participate in this challange) I turned him into a pet that wanders around on your desktop! You can feed him, play with him and throw him around! You can download him from the itch.io page: https://j4y-boi.itch.io/pip-the-mouse-desktop-edition (Link to message in #playground-ships: https://hackclub.slack.com/archives/C0C51NCK1DG/p1791742520319769 )...
|
1793217175.0040116
|
1793303575.0040116
|
|
51595
|
Lunar Lander Video Game by @Akhil_Rajesh | Stardan Lunar Lander Video Game by @Akhil_Rajesh | Stardance...
|
Akhil_Rajesh
|
0
|
31.69
|
0
|
[]
|
[{"post_id": 78820, "ts": "202 [{"post_id": 78820, "ts": "2026-10-11T18:03:30Z", "hours": 0.2533, "text": "Devlog #6 Working on adding the rovers and flag on the surface in photopea and also using tack.pics to map out coordinates!"}, {"post_id": 78131, "ts": "2026-10-09T17:38:48Z", "hours": 3.2286, "text": "Devlog #5 Added the animations for the rcs and main engines, with correct (hopefully!) logic. [Picture shown with all rcs firing)"}, {"post_id": 75276, "ts": "2026-09-29T16:53:33Z", "hours": 10.1392, "text": "Devlog #4 I decided to seperate the landing part (previously called stage 2) from the rest of the game as of now. This is because of completely diffrent styles of drawing, and a JS mis-match. I’ll probably link those later though."}, {"post_id": 66472, "ts": "2026-09-12T09:49:26Z", "hours": 4.4775, "text": "Devlog #3 Stage 1 basically completed (though I want to revisit it to make the physics better). Added a intro-page showing all controls etc and status indicator in the HUD and other small adjustments."}, {"post_id": 63490, "ts": "2026-09-07T11:33:53Z", "hours": 5.7336, "text": "Devlog #2 Stage 1 (Translunar Flight) almost completed. Basic HUD showing Time elapsed, Velocity, etc has been added."}, {"post_id": 59756, "ts": "2026-09-01T18:01:30Z", "hours": 7.8536, "text": "Devlog #1 I almost finished on stage 1 of this project, that is, an autogenerated starry background, a Moon and a blue orb (which would eventually be the earth!), gravity for the moon, a red triangle representing the spacecraft as of now, velocity, controls, ability to enter/exit orbit, orbit detection, and most importantly, CRASH DETECTION!!!!. Here are some screenshots."}]...
|
Title: Lunar Lander Video Game by @Akhil_Rajesh | Title: Lunar Lander Video Game by @Akhil_Rajesh | Stardance
Devlogs:
Devlog #1 I almost finished on stage 1 of this project, that is, an autogenerated starry background, a Moon and a blue orb (which would eventually be the earth!), gravity for the moon, a red triangle representing the spacecraft as of now, velocity, controls, ability to enter/exit orbit, orbit detection, and most importantly, CRASH DETECTION!!!!. Here are some screenshots.
Devlog #2 Stage 1 (Translunar Flight) almost completed. Basic HUD showing Time elapsed, Velocity, etc has been added.
Devlog #3 Stage 1 basically completed (though I want to revisit it to make the physics better). Added a intro-page showing all controls etc and status indicator in the HUD and other small adjustments.
Devlog #4 I decided to seperate the landing part (previously called stage 2) from the rest of the game as of now. This is because of completely diffrent styles of drawing, and a JS mis-match. I’ll probably link those later though.
Devlog #5 Added the animations for the rcs and main engines, with correct (hopefully!) logic. [Picture shown with all rcs firing)
Devlog #6 Working on adding the rovers and flag on the surface in photopea and also using tack.pics to map out coordinates!...
|
1792677051.3998606
|
1793281851.3998606
|