|
64405
|
My awesome macropad! by @Nirvana | Stardance
|
Nirvana
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Nirvana | Stardanc Title: My awesome macropad! by @Nirvana | Stardance...
|
1793062437.4146373
|
1793667237.4146373
|
|
64406
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792867682.84874
|
1793731682.84874
|
|
64407
|
BLARE by @peso | Stardance
|
peso
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BLARE by @peso | Stardance
|
1793062439.4471152
|
1793667239.4471152
|
|
64408
|
My awesome macropad! by @Yun_ZhiT | Stardance
|
Yun_ZhiT
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Yun_ZhiT | Stardan Title: My awesome macropad! by @Yun_ZhiT | Stardance...
|
1793062441.4651675
|
1793667241.4651675
|
|
64409
|
DTA Emulator by @anchith | Stardance
|
anchith
|
0
|
52.42
|
0
|
[]
|
[{"post_id": 82361, "ts": "202 [{"post_id": 82361, "ts": "2026-10-24T16:58:40Z", "hours": 12.0136, "text": "GUI So far the entire interface for the project is just a terminal with some print statements and sometimes a display window so I finally made some frontend GUI! stuff The idea for this was a full window showing everything that the processor is currently doing, including the various subsystems and components of the emulated CPU, the registers, pins, settings and other stuff It also has a cool section for programming it, with which you can write code or import programs, assemble them, load them into the CPU and run them with only a few clicks. With the new GUI you also can modify everything in the CPU however you wish so you can change register values (even the read only ones ), fire pins, change processor settings and other execution stuff, and also see and interact with the GUIs for devices! (gui inside gui ) netbeans believe it or not, netbeans , out of all IDEs, has an amazing form editor, which is basically a UI designing thing for java, and that’s what I used to make the UI for this. All you have to do is drag and drop stuff into the canvas and try not to crash out over its idiotic paranoid auto scale system, and it automagically generates all the layout code for you! if only it magically made all the UI work too See the design lapse here: https://lapse.hackclub.com/timelapse/j9cZMZqsB7Ia flatlaf uhh so the default GUI looks horrendous because it uses Java’s built in Swing UI elements and designs, which is fine, but it makes it look like its from 2009 BUT i can change it’s look using a different “Look and Feel”, which is basically defines how UI elements should look. and feel. For this project I decided to use the FlatLaf look and feel which made it look a lot more modern and also made it a bit nicer to use. I didn’t use maven for this because I have trauma from when i used maven a long time ago and it uninstalled my entire project with no backups also java yum making the ui work this is the hard part Okay now the UI looks nice and all but it does nothing and is useless because it’s not linked to the backend Anyway I wrote a lot of messy code and linked up the processor backend and the assembler to the UI, and also wired up all 28 registers, 8 pins and a bunch of settings, initialization and assembling stuff to the backend. The thing is, I need to update the backend from the frontend and the frontend from the backend, and if that happens incorrectly or in the wrong order, which it does a lot , wrong or invalid information can be fed to the backend (and the frontend) which ruins the entire execution flow. There were so many problems with the UI and backend not matching up, like: Sometimes the clock would say it started in the frontend but didn’t in the backend even though all signs say that it did Sometimes the program wouldn’t even be written to the memory properly because the memory settings were incorrect in the backend only Sometimes two clock threads would start ticking simultaneously, which misaligns the PC because it’s only supposed to be multiples of 3 and a lot of other bugs After consuming all of the remaining bugs and testing it a lot, I finally had a UI that worked and synced with the backend properly… mostly. This is a prototype and I still need to change a lot of stuff, but here’s a screenshot of the finished UI while executing the previous 3D renderer thing"}, {"post_id": 77538, "ts": "2026-10-07T11:36:09Z", "hours": 5.5311, "text": "3D RENDERER I finally got the 3D renderer to work It took SO long ( 18+ hours in total? ) but it’s so cool and really shows the capabilities of this tiny CPU It took so long to make because I had to write everything in assembly with 🚫 no functions, 🚫 no control structures and 🚫no variables Obviously trying to program this CPU with such a tiny ISA and a stupid assembler is borderline impossible - you have to manually deal with register/pin addresses and memory addresses for jumps, so adding a single line changes everything after it and breaks your jumps. That’s why I added a few features to the assembler to make my life easier, namely address markers and constants . Address markers allow you to mark instructions and use those marker names within the program to refer to that instruction, which makes conditional stuff, jumps and other stuff much easier. Constants are… well, constants. With them I can assign names to memory addresses. (especially useful when you have more than 120 addresses ) Additionally, I also introduced a dynamic constants thing in the assembler, which basically just reserves memory addresses and stuff for constants on it’s own, so now I don’t even need to think about those addresses. new ALU stuff I added a new ALU (Arithmetic & Logic Unit) function in the CPU for comparisons between two numbers. The new COMP ALU operation compares the two values in ALU_A and ALU_B and sets the output to: 1 if A > B 2 of A < B 0 if A = B Trying to make a 3D renderer without these functions is impossible renderererer Ok, now onto how the renderer actually works. The renderer is just one big program (1300+ lines of assembly) that does a bunch of stuff to try and render a spinning cube on the display. Basically all it does is: Initialize the cube vertices Make the edge table for the lines of the cube Rotate all the points of the cube by a set amount every frame using a lot of scary math 📽️ Project the new rotated 3D points of the cube into 2D points using even more math Draw all the lines of the cube and refresh the display Repeat from step 3 Here’s a very simplified explanation of the entire program: The initial positions of the points is hardcoded into the code, and there’s also a getVertex function to get the X, Y and Z coordinates for a specific vertex number. To rotate the points, you need to do some matrix multiplication on each of the points, with a rotation matrix thingy and magically rotation happens. I don’t actually know what sin/cos is, they didn’t teach us in school yet as far as I know it’s something to do with the angles of a right angle triangle or whatever who cares To find the rotated points, it takes each of the coordinates and multiplies X by cos theta + Z * sin theta, and multiplies Z by -X * sin theta + Z * cos theta, where theta is the value it is being rotated by. Sin and Cos values for values 0-90 degrees are hardcoded into the program because it’s very hard to calculate Then the program takes those rotated points, and projects them into 2D points. Those equations are much easier: Projected X = (X * FocalLength)/(Z+FocalLength) and similarly, Projected Y = (Y * FocalLength)/(Z+FocalLength) Then it draws the lines between the points using a hardcoded edge table and bresenham’s line drawing algorithm. It then releases the pixel buffer and gets ready to draw another frame! And after a lot of debugging, it’s finally finished! (The video is at 500 kilohertz btw )"}, {"post_id": 76078, "ts": "2026-10-02T08:35:19Z", "hours": 13.6392, "text": "3D Renderer Line drawer So I was working on a 3D rendering program Writing a whole 3D render in assembly was slightly overambitious I think. It took thousands of lines of code and hundreds of memory allocations, functions and random stuff. It is supposed to be able to do rotation, projection, and wireframe drawing, and I tried making it draw a simple cube. As of right now it doesn’t work. Debugging DTA assembly is hard especially when you have 1400 lines of it. ( i thought of splitting it up into several files, but the way that it’s assembled and stuff makes it difficult, I still do have many files but I merge them all before assembling ) There’s some problems with the math and conditional stuff and if i try to run the whole renderer the screen just shows one pixel at coordinates (0, 0) flickering. But I was able to program a functional line drawing algorithm based on generalized Bresenham’s line drawing algorithm! (see picture) It basically works by taking two start and end coordinates, and adjusting the x towards the end coordinate, while measuring the error of the y-coordinate from the ideal line and adjusting for it. idk im bad at explaining things. I’ll probably write more about this in detail once I get the 3D renderer fully working."}, {"post_id": 73912, "ts": "2026-09-26T09:43:17Z", "hours": 5.3272, "text": "Assembler I made an assembler now so that I don’t have to write the raw ROM bytes to write programs! You can now just write code in assembly and it will magically generate the perfect ROM values! It can do a lot of cool stuff like: Replacing the names of instructions, registers and pins with their actual values Labels let you mark specific instructions and use the label name instead of figuring out the instruction’s address! Now you can just use set pc, bruh to jump to the instruction you labelled “bruh” for some reason Comments!! Tomfoolery detection The label thing is especially useful because I don’t need to rewrite a bunch of stuff just to add some code, and I don’t need to think about instruction addresses at all now because it all happens automagically with the assembler! I also created a bunch of new programs using this assembler, that use some of the new device stuff as well. speaking of device stuff, new device stuff I changed the architecture of the DSC a lot and now there are separate pulse pins that you can use to talk to the device. This makes working with devices a little bit easier and uses lesser code as well! With the new architecture I made some new devices as well, like: A colour GPU Now you can draw pixels to the screen that aren’t black and white! It actually includes all 0-255 values for red, green and blue, like all modern gpus and displays have I’m also working on some 3D rendering stuff too Work in progress text renderer terminal thing Power Management Thing™ so that programs can view and adjust the processors clock speed I also made one of those cool GPU test gradient things for the new GPU It does a lot of math and loop stuff to figure out which color should be at which position. I wrote it in like 80 lines of assembly using the new assembler and it takes about 16 seconds to finish at 10 kilohertz. This is the picture of the output:"}, {"post_id": 73515, "ts": "2026-09-25T09:07:27Z", "hours": 5.6569, "text": "It works I worked on the backend of the emulator a lot. I coded the remaining parts of all of the components, then I made a clock and finally put everything together to make the working emulator. The processor can now execute all three DTA instructions properly: COPY , SET , and PULSE The instruction decoder reads the instruction words, figures out what operation needs to happen, and the processor performs it through the appropriate registers and pins. There were also a bunch of weird bugs like components not being able to update their own read-only registers and memory size limits A processor isn’t very useful without any output devices so I made a GPU device to output pictures. It has a 64x64 pixel screen to which the processor can write pixels to. It has only black and white pixels because… i was lazy ig I then tried running some programs on it! Like one that continuously tries to write to read-only registers and throws infinite errors! ok that one was for testing I tried making a program that actually uses the screen, and I thought of just drawing a checkerboard pattern on the screen. Unfortunately I was too ambitious and it didn’t work. at all. So i tried just drawing one pixel to the screen and WOW IT WORKED ! no it didnt it still did nothing I did a bunch of backend debugging stuff which is really boring and complicated and I had to move the device register update code in the DSC to its own pin and trigger method and akcgcrwqajhxte tldr a bunch of confusing stuff Finally i got the pixels to work! There was now one white pixel on the screen! exciting! I had to do a lot more debugging for the checkerboard thing to work. I didn’t make an assembler as of now, so I had to write all the machine code myself (Literally writing with numbers) And catching bugs was impossible because again, you’re looking at a bunch of numbers. Anything as simple as adding a line of code was a pain because it shifts the memory addresses of all the lines of code after that, which messes with jump conditions and stuff. Despite all that IT WORKED it does run quite slow because its more than 30 instructions for each iteration of the loop, it takes a few seconds for it to finish the image at a clock speed of 10 kilohertz. This is basically how the program works: Initialize the DSC and GPU on device 0 Set up the variables in memory for X and Y coordinates And then start running an infinite loop in which all this happens: Increment X by 2 Then check if X is 64, if it is, increment Y by 1 and set X to 1 Check if X is 63, if it is, increment Y by 1 and set X to 0. Write the PIXEL instruction, X coordinate, Y coordinate and pixel colour to the GPU via the DSC. Repeat until heat death of the universe All that generates this cool checkerboard pattern on the screen. (This is 44 lines of assembly ) Anyway look at this picture:"}, {"post_id": 73001, "ts": "2026-09-24T06:07:32Z", "hours": 10.2547, "text": "DTA Emulator I’m making an emulator for a processor! It’s supposed to be a very simple minimal instruction set computer, with only 3 instructions. I mostly worked on the ISA in these hours and also did a bit of backend work for the emulator. The instruction set for the processor has only 3 instructions: Copy Set Pulse The entire processor can be controlled just by changing the values in registers and pulsing stuff. Copy copies the value of one register to another Set directly sets the value of a register to something Pulse pulses a pin (This is also why it’s called DTA - Data Transfer Architecture) With these simple instructions, you can manipulate registers and therefore control various parts of the processor! Designing the processor ISA was very hard because there are a bunch of problems that arise from having only three instructions. For example, this is how you would write a program to add two numbers from the memory and save it back to the memory.: SET READADDR 1 COPY READOUT, ALU_A SET READADDR 2 COPY READOUT, ALU_B SET ALU_OP, ADD SET WRITEADDR 3 COPY ALU_OUT, WRITEVAL PULSE WRITE This code first sets the read address to 1, causing the register bank’s read output to provide the value stored at address 1. That value is then copied into ALU_A . The read address is then set to 2, and the value at that address is copied into ALU_B . ALU_OP is set to ADD. Finally, the write address is set to 3. The ALU output is copied into WRITEVAL , and the write operation is pulsed, storing the result at address 3 in the register bank. So basically, at a high level, it reads 2 values from the memory, copies them to the ALU input values, sets the ALU operation to addition, then saves the output back into the memory. The memory reading and ALU output is combinational, ie it works continuously, and does not need a pulse for it to work. Meanwhile writing stuff to the memory can’t just be on forever, that would create problems. So we need to pulse it when it’s ready to write. You can think of pulses like triggering something Hopefully you’re understanding The parts of the CPU are: Working memory ALU (Arithmetic and Logic Unit) RAM interface Program Counter Device Controller Control Unit (this took way too long 🤦 ) That’s about it for the ISA. I also started working on the backend of the actual emulator by implementing all of these components individually in Java (java peak ) A picture of all the registers and pins:"}]...
|
Title: DTA Emulator by @anchith | Stardance
Devlo Title: DTA Emulator by @anchith | Stardance
Devlogs:
DTA Emulator I’m making an emulator for a processor! It’s supposed to be a very simple minimal instruction set computer, with only 3 instructions. I mostly worked on the ISA in these hours and also did a bit of backend work for the emulator. The instruction set for the processor has only 3 instructions: Copy Set Pulse The entire processor can be controlled just by changing the values in registers and pulsing stuff. Copy copies the value of one register to another Set directly sets the value of a register to something Pulse pulses a pin (This is also why it’s called DTA - Data Transfer Architecture) With these simple instructions, you can manipulate registers and therefore control various parts of the processor! Designing the processor ISA was very hard because there are a bunch of problems that arise from having only three instructions. For example, this is how you would write a program to add two numbers from the memory and save it back to the memory.: SET READADDR 1 COPY READOUT, ALU_A SET READADDR 2 COPY READOUT, ALU_B SET ALU_OP, ADD SET WRITEADDR 3 COPY ALU_OUT, WRITEVAL PULSE WRITE This code first sets the read address to 1, causing the register bank’s read output to provide the value stored at address 1. That value is then copied into ALU_A . The read address is then set to 2, and the value at that address is copied into ALU_B . ALU_OP is set to ADD. Finally, the write address is set to 3. The ALU output is copied into WRITEVAL , and the write operation is pulsed, storing the result at address 3 in the register bank. So basically, at a high level, it reads 2 values from the memory, copies them to the ALU input values, sets the ALU operation to addition, then saves the output back into the memory. The memory reading and ALU output is combinational, ie it works continuously, and does not need a pulse for it to work. Meanwhile writing stuff to the memory can’t just be on forever, that would create problems. So we need to pulse it when it’s ready to write. You can think of pulses like triggering something Hopefully you’re understanding The parts of the CPU are: Working memory ALU (Arithmetic and Logic Unit) RAM interface Program Counter Device Controller Control Unit (this took way too long 🤦 ) That’s about it for the ISA. I also started working on the backend of the actual emulator by implementing all of these components individually in Java (java peak ) A picture of all the registers and pins:
It works I worked on the backend of the emulator a lot. I coded the remaining parts of all of the components, then I made a clock and finally put everything together to make the working emulator. The processor can now execute all three DTA instructions properly: COPY , SET , and PULSE The instruction decoder reads the instruction words, figures out what operation needs to happen, and the processor performs it through the appropriate registers and pins. There were also a bunch of weird bugs like components not being able to update their own read-only registers and memory size limits A processor isn’t very useful without any output devices so I made a GPU device to output pictures. It has a 64x64 pixel screen to which the processor can write pixels to. It has only black and white pixels because… i was lazy ig I then tried running some programs on it! Like one that continuously tries to write to read-only registers and throws infinite errors! ok that one was for testing I tried making a program that actually uses the screen, and I thought of just drawing a checkerboard pattern on the screen. Unfortunately I was too ambitious and it didn’t work. at all. So i tried just drawing one pixel to the screen and WOW IT WORKED ! no it didnt it still did nothing I did a bunch of backend debugging stuff which is really boring and complicated and I had to move the device register update code in the DSC to its own pin and trigger method and akcgcrwqajhxte tldr a bunch of confusing stuff Finally i got the pixels to work! There was now one white pixel on the screen! exciting! I had to do a lot more debugging for the checkerboard thing to work. I didn’t make an assembler as of now, so I had to write all the machine code myself (Literally writing with numbers) And catching bugs was impossible because again, you’re looking at a bunch of numbers. Anything as simple as adding a line of code was a pain because it shifts the memory addresses of all the lines of code after that, which messes with jump conditions and stuff. Despite all that IT WORKED it does run quite slow because its more than 30 instructions for each iteration of the loop, it takes a few seconds for it to finish the image at a clock speed of 10 kilohertz. This is basically how the program works: Initialize the DSC and GPU on device 0 Set up the variables in memory for X and Y coordinates And then start running an infinite loop in which all this happens: Increment X by 2 Then check if X is 64, if it is, increment Y by 1 and set X to 1 Check if X is 63, if it is, increment Y by 1 and set X to 0. Write the PIXEL instruction, X coordinate, Y coordinate and pixel colour to the GPU via the DSC. Repeat until heat death of the universe All that generates this cool checkerboard pattern on the screen. (This is 44 lines of assembly ) Anyway look at this picture:
Assembler I made an assembler now so that I don’t have to write the raw ROM bytes to write programs! You can now just write code in assembly and it will magically generate the perfect ROM values! It can do a lot of cool stuff like: Replacing the names of instructions, registers and pins with their actual values Labels let you mark specific instructions and use the label name instead of figuring out the instruction’s address! Now you can just use set pc, bruh to jump to the instruction you labelled “bruh” for some reason Comments!! Tomfoolery detection The label thing is especially useful because I don’t need to rewrite a bunch of stuff just to add some code, and I don’t need to think about instruction addresses at all now because it all happens automagically with the assembler! I also created a bunch of new programs using this assembler, that use some of the new device stuff as well. speaking of device stuff, new device stuff I changed the architecture of the DSC a lot and now there are separate pulse pins that you can use to talk to the device. This makes working with devices a little bit easier and uses lesser code as well! With the new architecture I made some new devices as well, like: A colour GPU Now you can draw pixels to the screen that aren’t black and white! It actually includes all 0-255 values for red, green and blue, like all modern gpus and displays have I’m also working on some 3D rendering stuff too Work in progress text renderer terminal thing Power Management Thing™ so that programs can view and adjust the processors clock speed I also made one of those cool GPU test gradient things for the new GPU It does a lot of math and loop stuff to figure out which color should be at which position. I wrote it in like 80 lines of assembly using the new assembler and it takes about 16 seconds to finish at 10 kilohertz. This is the picture of the output:
3D Renderer Line drawer So I was working on a 3D rendering program Writing a whole 3D render in assembly was slightly overambitious I think. It took thousands of lines of code and hundreds of memory allocations, functions and random stuff. It is supposed to be able to do rotation, projection, and wireframe drawing, and I tried making it draw a simple cube. As of right now it doesn’t work. Debugging DTA assembly is hard especially when you have 1400 lines of it. ( i thought of splitting it up into several files, but the way that it’s assembled and stuff makes it difficult, I still do have many files but I merge them all before assembling ) There’s some problems with the math and conditional stuff and if i try to run the whole renderer the screen just shows one pixel at coordinates (0, 0) flickering. But I was able to program a functional line drawing algorithm based on generalized Bresenham’s line drawing algorithm! (see picture) It basically works by taking two start and end coordinates, and adjusting the x towards the end coordinate, while measuring the error of the y-coordinate from the ideal line and adjusting for it. idk im bad at explaining things. I’ll probably write more about this in detail once I get the 3D renderer fully working.
3D RENDERER I finally got the 3D renderer to work It took SO long ( 18+ hours in total? ) but it’s so cool and really shows the capabilities of this tiny CPU It took so long to make because I had to write everything in assembly with 🚫 no functions, 🚫 no control structures and 🚫no variables Obviously trying to program this CPU with such a tiny ISA and a stupid assembler is borderline impossible - you have to manually deal with register/pin addresses and memory addresses for jumps, so adding a single line changes everything after it and breaks your jumps. That’s why I added a few features to the assembler to make my life easier, namely address markers and constants . Address markers allow you to mark instructions and use those marker names within the program to refer to that instruction, which makes conditional stuff, jumps and other stuff much easier. Constants are… well, constants. With them I can assign names to memory addresses. (especially useful when you have more than 120 addresses ) Additionally, I also introduced a dynamic constants thing in the assembler, which basically just reserves memory addresses and stuff for constants on it’s own, so now I don’t even need to think about those addresses. new ALU stuff I added a new ALU (Arithmetic & Logic Unit) function in the CPU for comparisons between two numbers. The new COMP ALU operation compares the two values in ALU_A and ALU_B and sets the output to: 1 if A > B 2 of A < B 0 if A = B Trying to make a 3D renderer without these functions is impossible renderererer Ok, now onto how the renderer actually works. The renderer is just one big program (1300+ lines of assembly) that does a bunch of stuff to try and render a spinning cube on the display. Basically all it does is: Initialize the cube vertices Make the edge table for the lines of the cube Rotate all the points of the cube by a set amount every frame using a lot of scary math 📽️ Project the new rotated 3D points of the cube into 2D points using even more math Draw all the lines of the cube and refresh the display Repeat from step 3 Here’s a very simplified explanation of the entire program: The initial positions of the points is hardcoded into the code, and there’s also a getVertex function to get the X, Y and Z coordinates for a specific vertex number. To rotate the points, you need to do some matrix multiplication on each of the points, with a rotation matrix thingy and magically rotation happens. I don’t actually know what sin/cos is, they didn’t teach us in school yet as far as I know it’s something to do with the angles of a right angle triangle or whatever who cares To find the rotated points, it takes each of the coordinates and multiplies X by cos theta + Z * sin theta, and multiplies Z by -X * sin theta + Z * cos theta, where theta is the value it is being rotated by. Sin and Cos values for values 0-90 degrees are hardcoded into the program because it’s very hard to calculate Then the program takes those rotated points, and projects them into 2D points. Those equations are much easier: Projected X = (X * FocalLength)/(Z+FocalLength) and similarly, Projected Y = (Y * FocalLength)/(Z+FocalLength) Then it draws the lines between the points using a hardcoded edge table and bresenham’s line drawing algorithm. It then releases the pixel buffer and gets ready to draw another frame! And after a lot of debugging, it’s finally finished! (The video is at 500 kilohertz btw )
GUI So far the entire interface for the project is just a terminal with some print statements and sometimes a display window so I finally made some frontend GUI! stuff The idea for this was a full window showing everything that the processor is currently doing, including the various subsystems and components of the emulated CPU, the registers, pins, settings and other stuff It also has a cool section for programming it, with which you can write code or import programs, assemble them, load them into the CPU and run them with only a few clicks. With the new GUI you also can modify everything in the CPU however you wish so you can change register values (even the read only ones ), fire pins, change processor settings and other execution stuff, and also see and interact with the GUIs for devices! (gui inside gui ) netbeans believe it or not, netbeans , out of all IDEs, has an amazing form editor, which is basically a UI designing thing for java, and that’s what I used to make the UI for this. All you have to do is drag and drop stuff into the canvas and try not to crash out over its idiotic paranoid auto scale system, and it automagically generates all the layout code for you! if only it magically made all the UI work too See the design lapse here: https://lapse.hackclub.com/timelapse/j9cZMZqsB7Ia flatlaf uhh so the default GUI looks horrendous because it uses Java’s built in Swing UI elements and designs, which is fine, but it makes it look like its from 2009 BUT i can change it’s look using a different “Look and Feel”, which is basically defines how UI elements should look. and feel. For this project I decided to use the FlatLaf look and feel which made it look a lot more modern and also made it a bit nicer to use. I didn’t use maven for this because I have trauma from when i used maven a long time ago and it uninstalled my entire project with no backups also java yum making the ui work this is the hard part Okay now the UI looks nice and all but it does nothing and is useless because it’s not linked to the backend Anyway I wrote a lot of messy code and linked up the processor backend and the assembler to the UI, and also wired up all 28 registers, 8 pins and a bunch of settings, initialization and assembling stuff to the backend. The thing is, I need to update the backend from the frontend and the frontend from the backend, and if that happens incorrectly or in the wrong order, which it does a lot , wrong or invalid information can be fed to the backend (and the frontend) which ruins the entire execution flow. There were so many problems with the UI and backend not matching up, like: Sometimes the clock would say it started in the frontend but didn’t in the backend even though all signs say that it did Sometimes the program wouldn’t even be written to the memory properly because the memory settings were incorrect in the backend only Sometimes two clock threads would start ticking simultaneously, which misaligns the PC because it’s only supposed to be multiples of 3 and a lot of other bugs After consuming all of the remaining bugs and testing it a lot, I finally had a UI that worked and synced with the backend properly… mostly. This is a prototype and I still need to change a lot of stuff, but here’s a screenshot of the finished UI while executing the previous 3D renderer thing...
|
1793062444.8980594
|
1793667244.8980594
|
|
64410
|
Spectrometr by @Oky | Stardance
|
Oky
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Spectrometr by @Oky | Stardance
|
1793062447.2200956
|
1793667247.2200956
|
|
64411
|
SmolPadV1 by @mandeepswami | Stardance
|
mandeepswami
|
0
|
20.53
|
0
|
[]
|
[{"post_id": 81291, "ts": "202 [{"post_id": 81291, "ts": "2026-10-20T17:44:09Z", "hours": 1.8058, "text": "made a final hole for knob"}, {"post_id": 77536, "ts": "2026-10-07T11:14:10Z", "hours": 1.1169, "text": "Changed footprints as they were diffrent from the ones used in hacpad kit"}, {"post_id": 76607, "ts": "2026-10-04T04:53:11Z", "hours": 4.3603, "text": "Yeah i forgot to record half of the case , the firmware and the readme and BOM . Lost lot of time but i used Visual Studio code for the firmware and reame , bom so i didnt lose that time but now the project is complete and is looking good and now i will ship it"}, {"post_id": 73982, "ts": "2026-09-26T13:37:43Z", "hours": 3.3003, "text": "The case is almost complete just the backside is left and i am thingking of a adding a hackclub logo"}, {"post_id": 73548, "ts": "2026-09-25T11:25:27Z", "hours": 1.5836, "text": "Completed Routing"}, {"post_id": 73173, "ts": "2026-09-24T15:09:29Z", "hours": 2.8781, "text": "Currently routing copper traces"}, {"post_id": 72704, "ts": "2026-09-23T15:20:06Z", "hours": 1.2669, "text": "https://www.youtube.com/watch?v=8WXpGTIbxlQ using his guide to make it"}, {"post_id": 72648, "ts": "2026-09-23T12:45:04Z", "hours": 1.5669, "text": "Finnally started on my own hackpad . using https://wiki.ai03.com/books/pcb-design/page/pcb-guide-part-3---creating-the-mcu-schematic guide"}, {"post_id": 72304, "ts": "2026-09-22T16:58:58Z", "hours": 1.6147, "text": "Creating my case"}, {"post_id": 71845, "ts": "2026-09-21T17:11:04Z", "hours": 1.0333, "text": "Almost completed Designing your pcb part but there is a error i am currently fixing . am using ai to help me"}]...
|
Title: SmolPadV1 by @mandeepswami | Stardance
Dev Title: SmolPadV1 by @mandeepswami | Stardance
Devlogs:
Almost completed Designing your pcb part but there is a error i am currently fixing . am using ai to help me
Creating my case
Finnally started on my own hackpad . using https://wiki.ai03.com/books/pcb-design/page/pcb-guide-part-3---creating-the-mcu-schematic guide
https://www.youtube.com/watch?v=8WXpGTIbxlQ using his guide to make it
Currently routing copper traces
Completed Routing
The case is almost complete just the backside is left and i am thingking of a adding a hackclub logo
Yeah i forgot to record half of the case , the firmware and the readme and BOM . Lost lot of time but i used Visual Studio code for the firmware and reame , bom so i didnt lose that time but now the project is complete and is looking good and now i will ship it
Changed footprints as they were diffrent from the ones used in hacpad kit
made a final hole for knob...
|
1793062448.0813906
|
1793667248.0813906
|
|
64412
|
My awesome macropad! by @ghost_raven | Stardance
|
ghost_raven
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @ghost_raven | Star Title: My awesome macropad! by @ghost_raven | Stardance...
|
1793062451.3859289
|
1793667251.3859289
|
|
64413
|
making an easy thread k10 mulri color by @jorispes making an easy thread k10 mulri color by @jorispeschke | Stardance...
|
jorispeschke
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: making an easy thread k10 mulri color by @j Title: making an easy thread k10 mulri color by @jorispeschke | Stardance...
|
1793062452.267583
|
1793667252.267583
|
|
64414
|
XOC BRAIN by @XOC | Stardance
|
XOC
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: XOC BRAIN by @XOC | Stardance
|
1793062457.366304
|
1793667257.366304
|
|
64415
|
My very own WebOS by @shyamks1828 | Stardance
|
shyamks1828
|
1
|
1.41
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T15:58:48Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "halloo guys. so i am shipping this for webos mission. heres to summarise what ive done Built a basic WebOS by following the guide Added a recognizable bg Included a working clock added two of my own games. no they were not coded during hrs logged for this proj. but i welocme feedbakc pls do comment abt it Added a notes app,the terminal is currently a placeholder Used little AI during development, but is actively learning and improving will add more features in the future do watch out!!", "repo": "https://github.com/coderrcboy/My-own-webos", "demo": "https://coderrcboy.github.io/My-own-webos/"}]...
|
[{"post_id": 72988, "ts": "202 [{"post_id": 72988, "ts": "2026-09-24T05:30:27Z", "hours": 0.4144, "text": "halloo guys, i added a small clock widget on the top right of the os. i also a dded a login option. just eneter a username you like and play. pls i insist yall check out flappy bird but mainly FPS game i want your review on it i might upload devlog with changes i made on that. i also made the explorer working u can open or rename saved files. as usual disclaimer Ai was used."}, {"post_id": 72278, "ts": "2026-09-22T15:55:00Z", "hours": 0.8436, "text": "hi guyss. followed th guide and made os pretty generic. did add tha well known bg tho. it looks sick. will add more features in the future. also added two video games. feel free to give feedback abt that too. also i used a bit much ai. ye hate to admit but im improving. features to summarise include multiple windows time and 2 games and notes app stuff like terminal still placeholders. anyway c yall later"}, {"post_id": 71760, "ts": "2026-09-21T13:49:17Z", "hours": 0.2725, "text": "halloo guyss. I know it looks very crude but beleive me when i say there is somethingcooking. i have agreat vision i think. it should hopefully workout great. i have added a icon for an about page. a notepad and a terminal. terminals just a place holder:). c yall next devlog."}, {"post_id": 71721, "ts": "2026-09-21T11:39:38Z", "hours": 0.2761, "text": "Heloo guyss. I am making a webOS for gaming relaated stuff and games. I have just now started. this is pilot devlog. also i will be open about this I am using ai to a certain extent. mainly to get one aesthetic colour combination. however following devlogs you will see theres a more human touch to this☺️☺️"}]...
|
Title: My very own WebOS by @shyamks1828 | Stardan Title: My very own WebOS by @shyamks1828 | Stardance
Devlogs:
Heloo guyss. I am making a webOS for gaming relaated stuff and games. I have just now started. this is pilot devlog. also i will be open about this I am using ai to a certain extent. mainly to get one aesthetic colour combination. however following devlogs you will see theres a more human touch to this☺️☺️
halloo guyss. I know it looks very crude but beleive me when i say there is somethingcooking. i have agreat vision i think. it should hopefully workout great. i have added a icon for an about page. a notepad and a terminal. terminals just a place holder:). c yall next devlog.
hi guyss. followed th guide and made os pretty generic. did add tha well known bg tho. it looks sick. will add more features in the future. also added two video games. feel free to give feedback abt that too. also i used a bit much ai. ye hate to admit but im improving. features to summarise include multiple windows time and 2 games and notes app stuff like terminal still placeholders. anyway c yall later
halloo guys, i added a small clock widget on the top right of the os. i also a dded a login option. just eneter a username you like and play. pls i insist yall check out flappy bird but mainly FPS game i want your review on it i might upload devlog with changes i made on that. i also made the explorer working u can open or rename saved files. as usual disclaimer Ai was used.
Ships:
halloo guys. so i am shipping this for webos mission. heres to summarise what ive done Built a basic WebOS by following the guide Added a recognizable bg Included a working clock added two of my own games. no they were not coded during hrs logged for this proj. but i welocme feedbakc pls do comment abt it Added a notes app,the terminal is currently a placeholder Used little AI during development, but is actively learning and improving will add more features in the future do watch out!!...
|
1793422176.7560623
|
1793508576.7560623
|
|
64416
|
My very own WebOS by @AniketAnand | Stardance
|
AniketAnand
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @AniketAnand | Stardan Title: My very own WebOS by @AniketAnand | Stardance...
|
1793062458.2394614
|
1793667258.2394614
|
|
64417
|
My own site! by @jahongiresanboyev14_08 | Stardanc My own site! by @jahongiresanboyev14_08 | Stardance...
|
jahongiresanboyev14_08
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @jahongiresanboyev14_08 | S Title: My own site! by @jahongiresanboyev14_08 | Stardance...
|
1793062459.9820642
|
1793667259.9820642
|
|
64418
|
GitGlow by @aarlod2010 | Stardance
|
aarlod2010
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-08T11:53:18Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "GitGlow is a visual GitHub activity tracker that turns your coding history into a dynamic, interactive contribution experience. It helps developers see their progress, explore their activity, and stay motivated to keep building.", "repo": "https://github.com/AaravLodha2010/GitGlow", "demo": "https://git-glow-gules.vercel.app"}]...
|
[{"post_id": 77811, "ts": "202 [{"post_id": 77811, "ts": "2026-10-08T11:49:00Z", "hours": 1.5389, "text": "Finished redesigning the UI"}]...
|
Title: GitGlow by @aarlod2010 | Stardance
Devlogs Title: GitGlow by @aarlod2010 | Stardance
Devlogs:
Finished redesigning the UI
Ships:
GitGlow is a visual GitHub activity tracker that turns your coding history into a dynamic, interactive contribution experience. It helps developers see their progress, explore their activity, and stay motivated to keep building....
|
1793422179.6983252
|
1793508579.6983252
|
|
64419
|
askHeros by @sushant-vats | Stardance
|
sushant-vats
|
1
|
6.07
|
10
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T12:00:47Z", "hours": 5.0, "multiplier": 1.95, "payout": 10, "blessing": "neutral", "text": "I made a web app called askHeros ! One of the biggest challenges was finding a good API to use. A big shoutout to the people in the Hack Club Slack who told me about the Hack Club AI API, that helped me a lot. Another challenge was understanding how the , frontend and backend communicate with each other. This was actually my first time working with that, so figuring out how a request goes from the frontend to the backend and then comes back with a response was a really good learning experience. One small thing to keep in mind: askHeros might not be as fast as AI tools like GPT or Claude. It can take a few extra seconds to think and generate the response, so if it doesn’t answer immediately, just wait a few seconds! That’s pretty much it. Hope you enjoy trying it out!", "repo": "https://github.com/sushant-vats/askHeros", "demo": "https://askheros.sushant-vats.hackclub.app/"}]...
|
[{"post_id": 74776, "ts": "202 [{"post_id": 74776, "ts": "2026-09-28T06:50:40Z", "hours": 1.0703, "text": "Day 02: Made some changes in askHeros based on the suggestion from the reviewer. The main changes were: 1) Hosted askHeros on Hackclub Nest instead of render so it can run 24/7 without going to sleep. 2) Updated the README and some other improvements 3) Removed the parts of project were written using Ai and rewrote them myself. Overall, I cleaned up the project and made the changes suggested during the review"}, {"post_id": 71720, "ts": "2026-09-21T11:37:12Z", "hours": 5.2056, "text": "Day 1: Built askHeros from scratch Today I finished building my first version of askHeros end-to-end!The idea is pretty simple: you choose a superhero, ask them a question, and they explain it in their own way. I wanted each hero to actually feel different, so instead of just changing a few words in the prompt, I made a proper persona system using structured config data for each hero’s personality, voice, and teaching style.On the backend, I set up Node.js + Express and connected it to the Hack Club AI API. Then I built the frontend with a landing page, superhero selection cards, a question box, and an answer screen. I went with a dark comic-book style and gave each hero their own glow color.I also added loading and error states, entrance animations, and made the site responsive so it works on mobile too.After getting everything working locally, I deployed the app on Render and pushed the project to GitHub.Things that went wrongThe biggest challenge was honestly debugging tiny mistakes. Things like missing quotes or using the wrong variable name could completely break something, and sometimes the error wasn’t immediately obvious.I also accidentally exposed my API key while working on the project. GitHub’s secret scanning caught it before it could become a bigger problem, which was a really useful lesson. I learned why environment variables, .env files, and .gitignore are so important when building projects with APIs.Overall, this was a really fun first day. I learned way more by actually building and breaking things than I expected."}]...
|
Title: askHeros by @sushant-vats | Stardance
Devl Title: askHeros by @sushant-vats | Stardance
Devlogs:
Day 1: Built askHeros from scratch Today I finished building my first version of askHeros end-to-end!The idea is pretty simple: you choose a superhero, ask them a question, and they explain it in their own way. I wanted each hero to actually feel different, so instead of just changing a few words in the prompt, I made a proper persona system using structured config data for each hero’s personality, voice, and teaching style.On the backend, I set up Node.js + Express and connected it to the Hack Club AI API. Then I built the frontend with a landing page, superhero selection cards, a question box, and an answer screen. I went with a dark comic-book style and gave each hero their own glow color.I also added loading and error states, entrance animations, and made the site responsive so it works on mobile too.After getting everything working locally, I deployed the app on Render and pushed the project to GitHub.Things that went wrongThe biggest challenge was honestly debugging tiny mistakes. Things like missing quotes or using the wrong variable name could completely break something, and sometimes the error wasn’t immediately obvious.I also accidentally exposed my API key while working on the project. GitHub’s secret scanning caught it before it could become a bigger problem, which was a really useful lesson. I learned why environment variables, .env files, and .gitignore are so important when building projects with APIs.Overall, this was a really fun first day. I learned way more by actually building and breaking things than I expected.
Day 02: Made some changes in askHeros based on the suggestion from the reviewer. The main changes were: 1) Hosted askHeros on Hackclub Nest instead of render so it can run 24/7 without going to sleep. 2) Updated the README and some other improvements 3) Removed the parts of project were written using Ai and rewrote them myself. Overall, I cleaned up the project and made the changes suggested during the review
Ships:
I made a web app called askHeros ! One of the biggest challenges was finding a good API to use. A big shoutout to the people in the Hack Club Slack who told me about the Hack Club AI API, that helped me a lot. Another challenge was understanding how the , frontend and backend communicate with each other. This was actually my first time working with that, so figuring out how a request goes from the frontend to the backend and then comes back with a response was a really good learning experience. One small thing to keep in mind: askHeros might not be as fast as AI tools like GPT or Claude. It can take a few extra seconds to think and generate the response, so if it doesn’t answer immediately, just wait a few seconds! That’s pretty much it. Hope you enjoy trying it out!...
|
1793422181.5888653
|
1793508581.5888653
|
|
64420
|
Adaptive Goal Planner by @Nomansky | Stardance
|
Nomansky
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Adaptive Goal Planner by @Nomansky | Starda Title: Adaptive Goal Planner by @Nomansky | Stardance...
|
1793062461.6956155
|
1793667261.6956155
|
|
64421
|
nothing 2 by @asteroidpen | Stardance
|
asteroidpen
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: nothing 2 by @asteroidpen | Stardance
|
1793062463.402946
|
1793667263.402946
|
|
64422
|
Spotify Player by @nkerai_16 | Stardance
|
nkerai_16
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Spotify Player by @nkerai_16 | Stardance
|
1793062464.2634618
|
1793667264.2634618
|
|
64423
|
Roguelite Video Game by @Aevyie | Stardance
|
Aevyie
|
0
|
11.05
|
0
|
[]
|
[{"post_id": 83106, "ts": "202 [{"post_id": 83106, "ts": "2026-10-26T22:02:42Z", "hours": 8.0931, "text": "Roguelite Game - dev log 3 So its been a hot minute since I’ve posted and stuff has happened I promise! tests just suck. I’ve been working on the random selection of the next room a player enters and cleaning up some stuff which is all done now, just need to get the door tile art so the player can actually leave the room… looking at you cleo…. next steps are creating the enemies so the player actually has something to do, but I’m not sure that will be ready before Stardance is officially over </3"}, {"post_id": 75009, "ts": "2026-09-28T20:58:09Z", "hours": 1.9133, "text": "Dev log #2!! I discovered the joys of coroutines and enumerators in C#, so have re-written some of the death event. Now when the player dies the system waits a moment before changing scenes so the death animation can run, which is lovely! Next up, procedural selection of rooms!! I hope… Image source from Unity Documentation: https://docs.unity3d.com/6000.6/Documentation/Manual/Coroutines.html"}, {"post_id": 73316, "ts": "2026-09-24T20:55:02Z", "hours": 1.0422, "text": "Player death event ~ Dev Log #1 This is the first time I’ve tracked on Stardance, however this project is already a couple months into its creation. I’m making a roguelite with the objective of escaping a dungeon without getting knocked out and caught, else they must start their escape again. However as they make more attempts, their character gets stronger and thus is able to progress further through the game. This was me just working on the death condition and what would occur when the player health dipped below zero."}]...
|
Title: Roguelite Video Game by @Aevyie | Stardance Title: Roguelite Video Game by @Aevyie | Stardance
Devlogs:
Player death event ~ Dev Log #1 This is the first time I’ve tracked on Stardance, however this project is already a couple months into its creation. I’m making a roguelite with the objective of escaping a dungeon without getting knocked out and caught, else they must start their escape again. However as they make more attempts, their character gets stronger and thus is able to progress further through the game. This was me just working on the death condition and what would occur when the player health dipped below zero.
Dev log #2!! I discovered the joys of coroutines and enumerators in C#, so have re-written some of the death event. Now when the player dies the system waits a moment before changing scenes so the death animation can run, which is lovely! Next up, procedural selection of rooms!! I hope… Image source from Unity Documentation: https://docs.unity3d.com/6000.6/Documentation/Manual/Coroutines.html
Roguelite Game - dev log 3 So its been a hot minute since I’ve posted and stuff has happened I promise! tests just suck. I’ve been working on the random selection of the next room a player enters and cleaning up some stuff which is all done now, just need to get the door tile art so the player can actually leave the room… looking at you cleo…. next steps are creating the enemies so the player actually has something to do, but I’m not sure that will be ready before Stardance is officially over </3...
|
1793062465.0959911
|
1793667265.0959911
|
|
64424
|
LakeOS by @Manu_Gurgel | Stardance
|
Manu_Gurgel
|
2
|
30.0
|
22
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T09:14:41Z", "hours": 4.0, "multiplier": 5.19, "payout": 22, "blessing": "neutral", "text": "I fixed the window movement limit because it was glitching the OS, and I’ve added another game. At first, I thought it would be as difficult as the other one, but it was actually much easier.", "repo": "https://github.com/Manu-Gurgel/myOS", "demo": "https://manu-gurgel.github.io/myOS/"}, {"ship_num": 2, "ts": "2026-09-29T04:22:07Z", "hours": 26.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my first web OS using HTML, CSS, and JavaScript. In the beginning, I hardly knew how to center elements inside a div, but with AI, I learned a lot of CSS properties to improve the OS style. I also found it difficult to develop some functions in JavaScript. It was like I knew what I wanted to do, but I didn’t have the knowledge to write it in JavaScript code, so I used AI to discover and understand JavaScript commands too. At first, I thought the Weather icon was the most difficult thing I did. But when I had to make the window components draggable, I started to think, “Oh my God, I completely underestimated how hard this icon would be!” Nothing could convince me that there is something more difficult than making a movable window. After that, I started building the calculator; it was easier than I thought it would be, though I still faced a few challenges. Finally, I made the game. It was so annoying to do because bugs just wouldn’t stop appearing, especially with the emoji display and button positioning. While making the OS, I thought about giving up so many times. But whenever something I wrote finally worked, I felt incredibly happy, and that motivated me to keep going. In the end, building this OS helped me train my patience and my resilience.", "repo": "https://github.com/Manu-Gurgel/myOS", "demo": "https://manu-gurgel.github.io/myOS/"}]...
|
[{"post_id": 75498, "ts": "202 [{"post_id": 75498, "ts": "2026-09-30T09:10:56Z", "hours": 4.2075, "text": "I added one more game!!. It was easier to make than the “find the different emoji” game (maybe because I already knew some of the things I needed to do). I also fixed the window movement limit."}, {"post_id": 75061, "ts": "2026-09-29T00:54:29Z", "hours": 10.7361, "text": "I FINISHED IT! Programming a game is sooo difficult at the beginning(I would be happier if I could say that it was going easier, but it stayed diffcult until the end), when I fixed something wrong (like emoji display) another one appeared, it was very, very annoying. However, when I see the game working I become so happy and proud. I can’t wait to make more icons for my OS"}, {"post_id": 74073, "ts": "2026-09-26T16:56:27Z", "hours": 6.3642, "text": "Now my OS has a blue calculator and a search icon, but I didin’t align the titles yet. I’m going to do more two icons"}, {"post_id": 73247, "ts": "2026-09-24T17:41:39Z", "hours": 8.4886, "text": "I’ working in my fisrt web OS, I’m learning to improve it more and more"}]...
|
Title: LakeOS by @Manu_Gurgel | Stardance
Devlogs Title: LakeOS by @Manu_Gurgel | Stardance
Devlogs:
I’ working in my fisrt web OS, I’m learning to improve it more and more
Now my OS has a blue calculator and a search icon, but I didin’t align the titles yet. I’m going to do more two icons
I FINISHED IT! Programming a game is sooo difficult at the beginning(I would be happier if I could say that it was going easier, but it stayed diffcult until the end), when I fixed something wrong (like emoji display) another one appeared, it was very, very annoying. However, when I see the game working I become so happy and proud. I can’t wait to make more icons for my OS
I added one more game!!. It was easier to make than the “find the different emoji” game (maybe because I already knew some of the things I needed to do). I also fixed the window movement limit.
Ships:
I made my first web OS using HTML, CSS, and JavaScript. In the beginning, I hardly knew how to center elements inside a div, but with AI, I learned a lot of CSS properties to improve the OS style. I also found it difficult to develop some functions in JavaScript. It was like I knew what I wanted to do, but I didn’t have the knowledge to write it in JavaScript code, so I used AI to discover and understand JavaScript commands too. At first, I thought the Weather icon was the most difficult thing I did. But when I had to make the window components draggable, I started to think, “Oh my God, I completely underestimated how hard this icon would be!” Nothing could convince me that there is something more difficult than making a movable window. After that, I started building the calculator; it was easier than I thought it would be, though I still faced a few challenges. Finally, I made the game. It was so annoying to do because bugs just wouldn’t stop appearing, especially with the emoji display and button positioning. While making the OS, I thought about giving up so many times. But whenever something I wrote finally worked, I felt incredibly happy, and that motivated me to keep going. In the end, building this OS helped me train my patience and my resilience.
I fixed the window movement limit because it was glitching the OS, and I’ve added another game. At first, I thought it would be as difficult as the other one, but it was actually much easier....
|
1793422183.6533337
|
1793508583.6533337
|
|
64425
|
My awesome macropad! by @Mayank095 | Stardance
|
Mayank095
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Mayank095 | Starda Title: My awesome macropad! by @Mayank095 | Stardance...
|
1793062466.8466942
|
1793667266.8466942
|
|
64426
|
My own site! by @samtech | Stardance
|
samtech
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @samtech | Stardance
|
1793062468.5930846
|
1793667268.5930846
|
|
64427
|
Tick-Tac-Toe by @Divij | Stardance
|
Divij
|
0
|
0.94
|
0
|
[]
|
[{"post_id": 71746, "ts": "202 [{"post_id": 71746, "ts": "2026-09-21T13:21:14Z", "hours": 0.9386, "text": "Tic-Tac-Toe Overview For my StarDance project, I decided to work on a Tic-Tac-Toe game that I originally built as part of CS50’s Introduction to Artificial Intelligence with Python. Instead of leaving it as the original CS50 project, I wanted to develop it further and make it feel more like a proper game. I took inspiration from the Google Doodle Tic-Tac-Toe game and attempted to recreate some of its ideas and style. I also used PySimpleGUI to create the graphical interface. The Game The player plays against an AI opponent: Player = X AI = O The game has three difficulty levels: Easy Medium Impossible Each level changes how the AI chooses its moves. The Impossible difficulty uses the Minimax algorithm, which I originally learned about through CS50 AI. Minimax Minimax allows the AI to look at possible future moves and choose the move that gives it the best outcome."}]...
|
Title: Tick-Tac-Toe by @Divij | Stardance
Devlogs Title: Tick-Tac-Toe by @Divij | Stardance
Devlogs:
Tic-Tac-Toe Overview For my StarDance project, I decided to work on a Tic-Tac-Toe game that I originally built as part of CS50’s Introduction to Artificial Intelligence with Python. Instead of leaving it as the original CS50 project, I wanted to develop it further and make it feel more like a proper game. I took inspiration from the Google Doodle Tic-Tac-Toe game and attempted to recreate some of its ideas and style. I also used PySimpleGUI to create the graphical interface. The Game The player plays against an AI opponent: Player = X AI = O The game has three difficulty levels: Easy Medium Impossible Each level changes how the AI chooses its moves. The Impossible difficulty uses the Minimax algorithm, which I originally learned about through CS50 AI. Minimax Minimax allows the AI to look at possible future moves and choose the move that gives it the best outcome....
|
1793062470.603301
|
1793667270.603301
|
|
64428
|
My APOD by @Kaori | Stardance
|
Kaori
|
0
|
2.25
|
0
|
[]
|
[{"post_id": 82304, "ts": "202 [{"post_id": 82304, "ts": "2026-10-24T14:55:33Z", "hours": 0.8183, "text": "I’m making my APOD website look similar to my first website because I prefer using something I already know instead of trying something completely new ;-;"}, {"post_id": 77715, "ts": "2026-10-08T02:15:52Z", "hours": 0.2678, "text": "I’m going to add a button to download the APOD of the day."}, {"post_id": 77201, "ts": "2026-10-06T02:26:32Z", "hours": 0.8236, "text": "I’m trying to make this. Well, I really liked how it turned out, so I think I’ll change it a little to make it more similar to my old website =)"}, {"post_id": 75777, "ts": "2026-10-01T02:42:53Z", "hours": 0.3408, "text": "I’m trying to make this ;-; Apparently, this is going to be harder than making a regular website."}]...
|
Title: My APOD by @Kaori | Stardance
Devlogs:
I’m Title: My APOD by @Kaori | Stardance
Devlogs:
I’m trying to make this ;-; Apparently, this is going to be harder than making a regular website.
I’m trying to make this. Well, I really liked how it turned out, so I think I’ll change it a little to make it more similar to my old website =)
I’m going to add a button to download the APOD of the day.
I’m making my APOD website look similar to my first website because I prefer using something I already know instead of trying something completely new ;-;...
|
1793062471.4541993
|
1793667271.4541993
|
|
64429
|
My awesome macropad! by @mahparamahnoor | Stardanc My awesome macropad! by @mahparamahnoor | Stardance...
|
mahparamahnoor
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @mahparamahnoor | S Title: My awesome macropad! by @mahparamahnoor | Stardance...
|
1793062473.482047
|
1793667273.482047
|
|
64430
|
Void Run by @rayyans4890 | Stardance
|
rayyans4890
|
1
|
24.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T17:33:38Z", "hours": 24.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Void Run is a 2D browser shooter I made for Stardance. You play as a ship in space and shoot aliens that keep coming at you. There are 3 enemy types: Drifter, Stinger and Brute. Stingers show up from wave 2 and Brutes from wave 4. A new wave starts every 25 seconds and the enemies spawn faster each time, so the game keeps getting harder. The hardest part was the JavaScript. The movement and shooting took a while to get working, and the title screen took a lot longer than I expected. I used AI to help with the sectioning of the title screen in a few places, but most of the code is my own. I’m proud that I finished it. I built the HUD, the menus, the three enemies and the wave system myself, and it works on a phone too. To test it, press Play or Enter to start. Move with WASD or the arrow keys, shoot with Space or the mouse, and press P to pause. Your best score is saved in your browser, so try to beat it.", "repo": "https://github.com/rayyans4890-png/Void-Run", "demo": "https://rayyans4890-png.github.io/Void-Run/"}]...
|
[{"post_id": 81015, "ts": "202 [{"post_id": 81015, "ts": "2026-10-19T16:18:36Z", "hours": 8.7747, "text": "Devlog 4: Final Version The game is finished. The JavaScript is fully complete and the final CSS file is done. I added 3 enemy types to the game, Drifter, Stinger and Brute, and I’m very satisfied with the result. The title screen was also updated with a new tagline and a bit more information, and the HUD now shows the best score and the current wave. The waves get faster as you play, so the game gets harder the longer you survive. Completed JavaScript Final CSS 3 enemies Final title screen and HUD Remaining Write the README Upload the project to GitHub Ship the project Next steps Only the README is left. I will write it, upload everything to GitHub and then ship the project. I really hope it gets a good rating, since my goal is the Aula F75 keyboard."}, {"post_id": 77833, "ts": "2026-10-08T13:27:17Z", "hours": 4.6917, "text": "Devlog 3: JavaScript I finally wrote the JavaScript. The main movement and shooting are now working, and enemies appear on the screen. The game is playable for the first time, even though it is still rough. The boss keeps giving me problems and I could not get it to work properly. I decided to leave it for later instead of wasting more time on it today. Another issue is that the ship can only move left and right along a horizontal line. I plan to change this so it moves freely in every direction while you control it. Completed Main JavaScript Shooting Movement (horizontal only for now) Enemies showing on screen Pause button Known issues The boss is not working properly The ship can only move along a horizontal line Remaining Fix the boss Add free movement in all directions Next steps Fixing the movement comes first, since it affects how the whole game feels. Then I will go back to the boss."}, {"post_id": 77202, "ts": "2026-10-06T02:31:58Z", "hours": 7.305, "text": "Devlog 2: Title Screen The title screen is finally finished. It took a lot longer than I expected, but I’m happy with how clean it looks. I used AI to help me with the sectioning of the title screen in a few places, but most of the code was written by me. The screen now has the Void Run logo, the tagline, and a Play button. You can also press Enter to start. The HUD shows the score, hull, best score and wave number. At the bottom there is a controls bar and a list of the enemy types, which are Drifter, Stinger and Brute. Completed Title screen with logo and tagline Play button and Enter shortcut HUD layout Controls bar and enemy list HTML and CSS Remaining JavaScript Next steps Only the JavaScript is left. That includes movement, shooting and the enemies. I will try to finish it tomorrow."}, {"post_id": 76178, "ts": "2026-10-02T16:26:20Z", "hours": 2.8008, "text": "Devlog 1: Project Start I started working on Void Run today. It is a 2D browser shooter set in space, where you play as a ship shooting aliens that are coming at you. The idea is simple on purpose, and I want to keep it that way so I can actually finish it. For now I focused on the base of the project. I set up the styles with a dark theme and built the basic HUD and the title screen. I wanted the layout in place first so the game logic has something to sit on later. Completed Project setup Basic HUD Title screen Base styles in style.css Remaining Player movement Shooting mechanics Main game design Next steps Later today I will start on movement, shooting and the main design of the game. After that I can begin adding the aliens."}]...
|
Title: Void Run by @rayyans4890 | Stardance
Devlo Title: Void Run by @rayyans4890 | Stardance
Devlogs:
Devlog 1: Project Start I started working on Void Run today. It is a 2D browser shooter set in space, where you play as a ship shooting aliens that are coming at you. The idea is simple on purpose, and I want to keep it that way so I can actually finish it. For now I focused on the base of the project. I set up the styles with a dark theme and built the basic HUD and the title screen. I wanted the layout in place first so the game logic has something to sit on later. Completed Project setup Basic HUD Title screen Base styles in style.css Remaining Player movement Shooting mechanics Main game design Next steps Later today I will start on movement, shooting and the main design of the game. After that I can begin adding the aliens.
Devlog 2: Title Screen The title screen is finally finished. It took a lot longer than I expected, but I’m happy with how clean it looks. I used AI to help me with the sectioning of the title screen in a few places, but most of the code was written by me. The screen now has the Void Run logo, the tagline, and a Play button. You can also press Enter to start. The HUD shows the score, hull, best score and wave number. At the bottom there is a controls bar and a list of the enemy types, which are Drifter, Stinger and Brute. Completed Title screen with logo and tagline Play button and Enter shortcut HUD layout Controls bar and enemy list HTML and CSS Remaining JavaScript Next steps Only the JavaScript is left. That includes movement, shooting and the enemies. I will try to finish it tomorrow.
Devlog 3: JavaScript I finally wrote the JavaScript. The main movement and shooting are now working, and enemies appear on the screen. The game is playable for the first time, even though it is still rough. The boss keeps giving me problems and I could not get it to work properly. I decided to leave it for later instead of wasting more time on it today. Another issue is that the ship can only move left and right along a horizontal line. I plan to change this so it moves freely in every direction while you control it. Completed Main JavaScript Shooting Movement (horizontal only for now) Enemies showing on screen Pause button Known issues The boss is not working properly The ship can only move along a horizontal line Remaining Fix the boss Add free movement in all directions Next steps Fixing the movement comes first, since it affects how the whole game feels. Then I will go back to the boss.
Devlog 4: Final Version The game is finished. The JavaScript is fully complete and the final CSS file is done. I added 3 enemy types to the game, Drifter, Stinger and Brute, and I’m very satisfied with the result. The title screen was also updated with a new tagline and a bit more information, and the HUD now shows the best score and the current wave. The waves get faster as you play, so the game gets harder the longer you survive. Completed JavaScript Final CSS 3 enemies Final title screen and HUD Remaining Write the README Upload the project to GitHub Ship the project Next steps Only the README is left. I will write it, upload everything to GitHub and then ship the project. I really hope it gets a good rating, since my goal is the Aula F75 keyboard.
Ships:
Void Run is a 2D browser shooter I made for Stardance. You play as a ship in space and shoot aliens that keep coming at you. There are 3 enemy types: Drifter, Stinger and Brute. Stingers show up from wave 2 and Brutes from wave 4. A new wave starts every 25 seconds and the enemies spawn faster each time, so the game keeps getting harder. The hardest part was the JavaScript. The movement and shooting took a while to get working, and the title screen took a lot longer than I expected. I used AI to help with the sectioning of the title screen in a few places, but most of the code is my own. I’m proud that I finished it. I built the HUD, the menus, the three enemies and the wave system myself, and it works on a phone too. To test it, press Play or Enter to start. Move with WASD or the arrow keys, shoot with Space or the mouse, and press P to pause. Your best score is saved in your browser, so try to beat it....
|
1792857132.190074
|
1793721132.190074
|
|
64431
|
Demo by @Lansky1228 | Stardance
|
Lansky1228
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Demo by @Lansky1228 | Stardance
|
1793062475.445145
|
1793667275.445145
|
|
64432
|
Multipurpose Macropad by @mihr | Stardance
|
mihr
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Multipurpose Macropad by @mihr | Stardance
|
1793062478.7505436
|
1793667278.7505436
|
|
64433
|
WarioWare Game by @sabyrhan_nabiev | Stardance
|
sabyrhan_nabiev
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @sabyrhan_nabiev | Starda Title: WarioWare Game by @sabyrhan_nabiev | Stardance...
|
1793062480.4854302
|
1793667280.4854302
|
|
64434
|
Math Rush by @fadyalber2009 | Stardance
|
fadyalber2009
|
1
|
10.0
|
11
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T12:42:47Z", "hours": 10.0, "multiplier": 1.11, "payout": 11, "blessing": "neutral", "text": "math challenge challenge yourself, solve faster, and become a math master!", "repo": "https://github.com/fady-albert/math", "demo": "https://fady-albert.github.io/math/"}]...
|
[{"post_id": 71732, "ts": "202 [{"post_id": 71732, "ts": "2026-09-21T12:35:55Z", "hours": 10.135, "text": "Upgrade your math skills Challenge yourself, solve faster, and become a math master!"}]...
|
Title: Math Rush by @fadyalber2009 | Stardance
De Title: Math Rush by @fadyalber2009 | Stardance
Devlogs:
Upgrade your math skills Challenge yourself, solve faster, and become a math master!
Ships:
math challenge challenge yourself, solve faster, and become a math master!...
|
1793422188.501119
|
1793508588.501119
|
|
64435
|
Attendance tracker by @aryanbhatnagar | Stardance
|
aryanbhatnagar
|
1
|
2.0
|
3
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T09:37:13Z", "hours": 2.0, "multiplier": 1.95, "payout": 3, "blessing": "neutral", "text": "An attendance calculator in which you just enter number of lectures you have attended and total number of lectures held. The website will calculate your attendance and will also give you the number of lectures you can bunk to maintain a specific percentage of attendance. How to run Enter number of lectures attended. Enter number of total lectures held. Enter percentage of attendance you want to maintain. Click “Calculate Attendance”. The website gives you - Attendance in percentage. If your attendance is below required attendance , it gives you the amount of lectures you need to attend to achieve the desired attendance. If your attendance is above required attendance, it gives you the number of lectures you can bunk to maintain that much attendance.", "repo": "https://github.com/aryanbhatnagar0102/Attendance_Calculator", "demo": "https://attendance-calculator-five.vercel.app/"}]...
|
[{"post_id": 72140, "ts": "202 [{"post_id": 72140, "ts": "2026-09-22T09:27:30Z", "hours": 1.7317, "text": "It is an attendance tracker which calculates your attendance and tells you the number of bunks you have. I have completed it and deployed it."}]...
|
Title: Attendance tracker by @aryanbhatnagar | Sta Title: Attendance tracker by @aryanbhatnagar | Stardance
Devlogs:
It is an attendance tracker which calculates your attendance and tells you the number of bunks you have. I have completed it and deployed it.
Ships:
An attendance calculator in which you just enter number of lectures you have attended and total number of lectures held. The website will calculate your attendance and will also give you the number of lectures you can bunk to maintain a specific percentage of attendance. How to run Enter number of lectures attended. Enter number of total lectures held. Enter percentage of attendance you want to maintain. Click “Calculate Attendance”. The website gives you - Attendance in percentage. If your attendance is below required attendance , it gives you the amount of lectures you need to attend to achieve the desired attendance. If your attendance is above required attendance, it gives you the number of lectures you can bunk to maintain that much attendance....
|
1793422190.3438199
|
1793508590.3438199
|
|
64436
|
My very own WebOS by @khaingnyein | Stardance
|
khaingnyein
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @khaingnyein | Stardan Title: My very own WebOS by @khaingnyein | Stardance...
|
1793062482.632403
|
1793667282.632403
|
|
64437
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792867683.679777
|
1793731683.679777
|
|
64438
|
My awesome macropad! by @Onash | Stardance
|
Onash
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Onash | Stardance
|
1793062484.327382
|
1793667284.327382
|
|
64439
|
EcoDomus by @Bhaweshmehta | Stardance
|
Bhaweshmehta
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: EcoDomus by @Bhaweshmehta | Stardance
|
1793062486.3639886
|
1793667286.3639886
|
|
64440
|
Kiva foods by @Bjmoney | Stardance
|
Bjmoney
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Kiva foods by @Bjmoney | Stardance
|
1793062488.2376246
|
1793667288.2376246
|
|
64441
|
My own site! by @kryonix | Stardance
|
kryonix
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @kryonix | Stardance
|
1793062490.8709643
|
1793667290.8709643
|
|
64442
|
my APOD site by @fahadrehmani | Stardance
|
fahadrehmani
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: my APOD site by @fahadrehmani | Stardance
|
1793062492.951435
|
1793667292.951435
|
|
64443
|
My awesome macropad! by @prathameshhadye | Stardan My awesome macropad! by @prathameshhadye | Stardance...
|
prathameshhadye
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @prathameshhadye | Title: My awesome macropad! by @prathameshhadye | Stardance...
|
1793062493.79962
|
1793667293.79962
|
|
64444
|
Frictionless by @Ashzinho | Stardance
|
Ashzinho
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @Ashzinho | Stardance
|
1793062495.770412
|
1793667295.770412
|
|
64445
|
Personal-Web-Intro by @kryonix | Stardance
|
kryonix
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Personal-Web-Intro by @kryonix | Stardance
|
1793062497.5177593
|
1793667297.5177593
|
|
64446
|
UniquePlayerGlint - Minecraft Mod by @Natt | Stard UniquePlayerGlint - Minecraft Mod by @Natt | Stardance...
|
Natt
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: UniquePlayerGlint - Minecraft Mod by @Natt Title: UniquePlayerGlint - Minecraft Mod by @Natt | Stardance...
|
1793062498.350061
|
1793667298.350061
|
|
64447
|
My first slack bot! by @jonah830 | Stardance
|
jonah830
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @jonah830 | Stardanc Title: My first slack bot! by @jonah830 | Stardance...
|
1793062500.1287575
|
1793667300.1287575
|
|
64448
|
Commericial Product Animation by @Cool_Kaushal123 Commericial Product Animation by @Cool_Kaushal123 | Stardance...
|
Cool_Kaushal123
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Commericial Product Animation by @Cool_Kaus Title: Commericial Product Animation by @Cool_Kaushal123 | Stardance...
|
1793062501.8981118
|
1793667301.8981118
|
|
64449
|
Code Debug by @Mayank095 | Stardance
|
Mayank095
|
1
|
1.67
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-23T03:36:49Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built DebugCraft Studio, an intelligent multi-language code debugging workspace inspired by the ChatGPT and Claude Canvas interfaces. It features a 3-column pro developer layout: • Left Panel: A collapsible AI debugging assistant copilot to diagnose stack traces, logic bugs, and compiler errors. • Middle Panel: An interactive Monaco Code Editor (VS Code engine) with full syntax support for Java, C, and HTML. • Right Panel: A dedicated Corrected Output column with one-click code copying and inline Git Diff comparison. What was challenging: • Structuring the responsive 3-column layout alongside full Monaco Editor instances without layout shifts. • Managing port forwarding and container memory limits inside GitHub Codespaces. • Handling deployment pipelines to Vercel so reviewers have permanent 24/7 uptime without container timeouts. How to test it: Select a language preset (Java, C, or HTML). Click “Debug & Fix” (or ask the copilot in the chat). Check the right column for the cleaned output, toggle “Show Diff” to see line changes, and use “Copy Result” to grab the fix.", "repo": "https://github.com/kaushikmayank12p-source/codespaces-blank", "demo": "https://kaushikmayank12p-source.github.io/codespaces-blank/"}]...
|
[{"post_id": 73534, "ts": "202 [{"post_id": 73534, "ts": "2026-09-25T10:36:42Z", "hours": 0.3089, "text": "I have updated the interface and installed 3 built in games which activates by entering some special codes 1. SKYBIRD , 2. HILLCLIMB 3. CODEBREAK currently it only has 3 games but I’ll try to install more games in it. Thank You"}, {"post_id": 72641, "ts": "2026-09-23T12:35:05Z", "hours": 0.3569, "text": "Updated user interface"}, {"post_id": 72494, "ts": "2026-09-23T02:31:56Z", "hours": 0.9558, "text": "This web app uses Github’s AI models for debugging, this web app debugs accross many different coding language."}]...
|
Title: Code Debug by @Mayank095 | Stardance
Devlo Title: Code Debug by @Mayank095 | Stardance
Devlogs:
This web app uses Github’s AI models for debugging, this web app debugs accross many different coding language.
Updated user interface
I have updated the interface and installed 3 built in games which activates by entering some special codes 1. SKYBIRD , 2. HILLCLIMB 3. CODEBREAK currently it only has 3 games but I’ll try to install more games in it. Thank You
Ships:
I built DebugCraft Studio, an intelligent multi-language code debugging workspace inspired by the ChatGPT and Claude Canvas interfaces. It features a 3-column pro developer layout: • Left Panel: A collapsible AI debugging assistant copilot to diagnose stack traces, logic bugs, and compiler errors. • Middle Panel: An interactive Monaco Code Editor (VS Code engine) with full syntax support for Java, C, and HTML. • Right Panel: A dedicated Corrected Output column with one-click code copying and inline Git Diff comparison. What was challenging: • Structuring the responsive 3-column layout alongside full Monaco Editor instances without layout shifts. • Managing port forwarding and container memory limits inside GitHub Codespaces. • Handling deployment pipelines to Vercel so reviewers have permanent 24/7 uptime without container timeouts. How to test it: Select a language preset (Java, C, or HTML). Click “Debug & Fix” (or ask the copilot in the chat). Check the right column for the cleaned output, toggle “Show Diff” to see line changes, and use “Copy Result” to grab the fix....
|
1793422192.1326354
|
1793508592.1326354
|
|
64450
|
PARADOX — The Timeline That Shouldn't Exist by PARADOX — The Timeline That Shouldn't Exist by @sprajith56 | Stardance...
|
sprajith56
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: PARADOX — The Timeline That Shouldn't E Title: PARADOX — The Timeline That Shouldn't Exist by @sprajith56 | Stardance...
|
1793062503.9618185
|
1793667303.9618185
|
|
64451
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792867684.4916763
|
1793731684.4916763
|
|
64452
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792867685.3087053
|
1793731685.3087053
|
|
64453
|
My first slack bot! by @willmm | Stardance
|
willmm
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @willmm | Stardance
|
1793062504.8052027
|
1793667304.8052027
|
|
64454
|
clock by @willmm | Stardance
|
willmm
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: clock by @willmm | Stardance
|
1793062506.800779
|
1793667306.800779
|