|
53681
|
chess computer by @sailor_lucas | Stardance
|
sailor_lucas
|
0
|
13.56
|
0
|
[]
|
[{"post_id": 53673, "ts": "202 [{"post_id": 53673, "ts": "2026-08-24T10:45:43Z", "hours": 13.5639, "text": "i already started this project on macondo but that is ending so i am migrating to stardance i already worked on the layout and i am working on getting legal moves detected"}]...
|
Title: chess computer by @sailor_lucas | Stardance Title: chess computer by @sailor_lucas | Stardance
Devlogs:
i already started this project on macondo but that is ending so i am migrating to stardance i already worked on the layout and i am working on getting legal moves detected...
|
1793498161.9215722
|
1794102961.9215722
|
|
57489
|
chess engine by @ruter | Stardance
|
ruter
|
0
|
17.29
|
0
|
[]
|
[{"post_id": 62065, "ts": "202 [{"post_id": 62065, "ts": "2026-09-05T09:22:41Z", "hours": 1.5953, "text": "Added support for polyglot book files, so my engine doesn’t think for like 30 seconds before playing first move, which i think is pretty neat! It uses gm2001.bin by default, which is embedded into executable itself, so yeah. It results in roughly 30-50 elo increase, although its been only a day, so it might be even more!"}, {"post_id": 60183, "ts": "2026-09-02T12:17:34Z", "hours": 15.6969, "text": "Yea, ive created a chess engine, it was pretty fun way of actually doing something nice in rust."}]...
|
Title: chess engine by @ruter | Stardance
Devlogs Title: chess engine by @ruter | Stardance
Devlogs:
Yea, ive created a chess engine, it was pretty fun way of actually doing something nice in rust.
Added support for polyglot book files, so my engine doesn’t think for like 30 seconds before playing first move, which i think is pretty neat! It uses gm2001.bin by default, which is embedded into executable itself, so yeah. It results in roughly 30-50 elo increase, although its been only a day, so it might be even more!...
|
1793440523.6361663
|
1794045323.6361663
|
|
55046
|
chess master by @bavlynady47 | Stardance
|
bavlynady47
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-27T14:42:06Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a horrifying chess game called chess master, the challenge was in applying the chess rules to the pieces especially the casteling rule, I am proud of being a part from the stardance event and to reach this point where I can build a whole game by programming, you should know to play chess to test this project :).", "repo": "https://github.com/bavlynady47-eg/Chess_Mater", "demo": "https://bavlynady47-eg.github.io/Chess_Mater/"}]...
|
[{"post_id": 55564, "ts": "202 [{"post_id": 55564, "ts": "2026-08-27T14:29:40Z", "hours": 9.2231, "text": "I made a horrifying chess game called chess master"}]...
|
Title: chess master by @bavlynady47 | Stardance
D Title: chess master by @bavlynady47 | Stardance
Devlogs:
I made a horrifying chess game called chess master
Ships:
I made a horrifying chess game called chess master, the challenge was in applying the chess rules to the pieces especially the casteling rule, I am proud of being a part from the stardance event and to reach this point where I can build a whole game by programming, you should know to play chess to test this project :)....
|
1793879246.600249
|
1793965646.600249
|
|
15642
|
chess-encrypt by @ferdinand | Stardance
|
ferdinand
|
0
|
6.05
|
0
|
[]
|
[{"post_id": 21455, "ts": "202 [{"post_id": 21455, "ts": "2026-07-03T12:40:47Z", "hours": 1.2308, "text": "#1 (real) Devlog: I started a graphical interface, the core structure works and linux works well with the external program for the sudo entry. 1 Hour was enough to understand first the surprisingly complex structure of tkinter, but it looks… well, it’s like Windows XP (but worse). Apropos, if you ask why this will be linux-only, there’s one answer: Windows is TERRIBLE and MacOS is restricted. I can’t wait the final result."}, {"post_id": 20898, "ts": "2026-07-02T16:56:32Z", "hours": 3.5394, "text": "I changed the plan. Now, I want to build a better password entry for sudo… with chess. Every cell on the chess board stands for two ascii characters, depending on the color of the piece on it, it returns a ascii string. So your sudo password is transformed into a chess position and every time when you legitimate as sudo, you enter the position that gives the password to stdout. I think about the gui, should I use tkinter or an alternative (kivy, etc.) ?"}, {"post_id": 6987, "ts": "2026-06-11T18:45:16Z", "hours": 0.8881, "text": "Just started the key generation out of uci chess-moves… Not finished yet! I also want to make a hash out of it, security question."}, {"post_id": 6365, "ts": "2026-06-10T18:37:32Z", "hours": 0.3947, "text": "Just starting… I finally started my chess-encrypt project. The goal is to use the infinite number of chess combinations to encrypt data(files, passwords, etc…). You just play a chess game against the computer(stockfish) and this will generate a unique key… I know, it’s just some nerd stuff, but why not?(The Project is entirely written in Python :-) )"}]...
|
Title: chess-encrypt by @ferdinand | Stardance
De Title: chess-encrypt by @ferdinand | Stardance
Devlogs:
Just starting… I finally started my chess-encrypt project. The goal is to use the infinite number of chess combinations to encrypt data(files, passwords, etc…). You just play a chess game against the computer(stockfish) and this will generate a unique key… I know, it’s just some nerd stuff, but why not?(The Project is entirely written in Python :-) )
Just started the key generation out of uci chess-moves… Not finished yet! I also want to make a hash out of it, security question.
I changed the plan. Now, I want to build a better password entry for sudo… with chess. Every cell on the chess board stands for two ascii characters, depending on the color of the piece on it, it returns a ascii string. So your sudo password is transformed into a chess position and every time when you legitimate as sudo, you enter the position that gives the password to stdout. I think about the gui, should I use tkinter or an alternative (kivy, etc.) ?
#1 (real) Devlog: I started a graphical interface, the core structure works and linux works well with the external program for the sudo entry. 1 Hour was enough to understand first the surprisingly complex structure of tkinter, but it looks… well, it’s like Windows XP (but worse). Apropos, if you ask why this will be linux-only, there’s one answer: Windows is TERRIBLE and MacOS is restricted. I can’t wait the final result....
|
1792932633.849013
|
1793796633.849013
|
|
7303
|
chess-engin-c by @Leonhard | Stardance
|
Leonhard
|
1
|
70.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-06T07:39:08Z", "hours": 70.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Chees-Engin in C. It only lets you play legal moves, and handles all edge chases with Pins, Checks, Chasteling and Blocking. Finding which moves are legal and which illegal, was probably the hardest part about this project, because I do not just use a normal 8 by 8 array for the field but instead a 64Bit int for each piecetype and color where each bit reprecents a square. The bitmanipulation was a nightmare to say the least. The actuall engin itself wasn’t a walk in the park either, but by then I have allready gotten used to it. The projekt is on my Github, but only for LINUX. (Sorry, didn’t really bother making a Windows version, because I personaly avoid using Windows at all cost)", "repo": "https://github.com/Leonhard4321/chess-engin-c", "demo": "https://github.com/Leonhard4321/chess-engin-c/releases/tag/v1.0.0"}]...
|
[{"post_id": 23343, "ts": "202 [{"post_id": 23343, "ts": "2026-07-06T07:23:34Z", "hours": 5.0869, "text": "I addet a negative maximum funktion, with some other optimizations. The time spent to make the engin better isn’t addjustivied. I am gona leave it just like it is. It is better than me and that is good enough."}, {"post_id": 22004, "ts": "2026-07-04T07:19:23Z", "hours": 4.3028, "text": "I addet dynamic depth, so the fewer pieces are on the board the deeper the position gets analyzed."}, {"post_id": 21498, "ts": "2026-07-03T14:14:18Z", "hours": 4.3489, "text": "After some big optimizations, like moveordering and alpha-beta pruning, we are at a point where the engin actually beginns to get good. This engin is now comportable able to beat me. (I am about 1400 elo). It struggels a bit on endgames, and log-term development. I wasn’t really able to get a high depthed search, like other engins have it. I will have to take a good look why that might be. Thats gona be my next step."}, {"post_id": 21357, "ts": "2026-07-03T07:49:08Z", "hours": 6.4661, "text": "First test on the engin. I use a recursive minimax funktion. Look a couple of moves into the futer and evaluate the positions. The bot already understands the idea of captures. But it has no positional play at all. It is also terreable at checkmating."}, {"post_id": 18638, "ts": "2026-06-29T20:38:27Z", "hours": 2.1597, "text": "I am not really sure how to structure my next few blogs. It will defenitly take 20h+ until the engin is somewhere playable. And I don’t want to log such a long time in on go. So I think I am just gona give small updates inbetween to show the inside of a chess engin. The codepiece here is a basic evaluation funktion. It tells me exaclty which side is better at any given point. Although right now it is only counting material and not the quallity of the pieces that they contribute in the game."}, {"post_id": 18507, "ts": "2026-06-29T17:54:39Z", "hours": 0.8172, "text": "Now with all of the groundlaying rules done, it is time to focus on the bot. I have already worked on the way the bot is gona be implemented. But the implementation itsself is still the biggest thing to work on. Right here you can see a bot that does a random legal move on the board. I didn’t even bother to check what elo this would be, but i would assume 150 to 250 elo. Next I will work on a evaluation funktion, which should be pretty easy."}, {"post_id": 18462, "ts": "2026-06-29T16:57:40Z", "hours": 6.8078, "text": "This was the most frustrating error jet. Took me forever to figur out what even was going on. And I took me even longer fixing it. So what keept happening was this: Every time we look for a mate we simulate all of the opponents moves If a pawn on the second or seventh rankt(one square away from queening) was just sitting idle the programm simulated the promotion Because the promotion was just a simple scanf the complete programm came to a halt. To fix this I have implemented a way to queen as user and also, one for the Bot, later down the line. Although the bot one only queens for now. I am not sure jet if it is even nessecery to programm it to promot to any other piece, because it is almost never really the only winning idea."}, {"post_id": 16271, "ts": "2026-06-26T13:39:25Z", "hours": 1.8681, "text": "Checkmate has been addet, also the ability to draw, by stalemate and the 50 move rule. I won’t do the draw for insuficient material jet, maybe later down the road. But while testing I found a terrific but with pawnpromotion, It sometimes giliches out and ask you for a piece even if your not on the first or eightest rang."}, {"post_id": 16219, "ts": "2026-06-26T10:59:34Z", "hours": 1.1925, "text": "I honestly expected the castling to be more complicated. But it is done now. With all rules implemented. No castling, afte moving the rook, the king, or if the king is in check, or if a rook has been taken. There is only one thing missing to make this game really playable, in a Player vs Player sense. Checkmate!"}, {"post_id": 16181, "ts": "2026-06-26T09:12:58Z", "hours": 1.6783, "text": "Got it! Now blocks, checks, pins, and captures work. Everything works. The only missing thing is chastling wich might be a bit tricky to implement. The way the code works now, is the following: Every possable move from a piece gets calculated Every possition after the move gets looked at If the king is attacked in any possition delet the move from the possable moves. This may not ultimatle be the fasters way, but it’s fast enough for now. I might implement a even faster algorithem in the futur, but I like this one because it is just so clean and readable."}, {"post_id": 16140, "ts": "2026-06-26T07:22:38Z", "hours": 0.8508, "text": "With the new logic it was a easy to add the legal moves for the king back in. Now lets get back at tackeling the blocking and check, and block mechanics."}, {"post_id": 16116, "ts": "2026-06-26T06:25:44Z", "hours": 1.2175, "text": "All pieces are back to the right way the shouldm except the king. I know have some super clean funktions, that should make position calculation extreamly fast. I also heard about some optimizations with shifting bit array, to make the movecalculation for a sigle piece even faster. Not really shure how that works jet, but I am planing on implementing that to in the futer. The faster my legal moves calculator is now, the better the engin is gona get later on."}, {"post_id": 15912, "ts": "2026-06-25T21:18:34Z", "hours": 7.3344, "text": "I realized that the way my current isKingInCheck funktion works, would just be way to slow, to make a powerfull engin later on. I did a quick search on the internet, and it turns out I need to split between legal and pseudo legal moves. Where the pseudo legal moves, disregard checks. So I started rewriting the last 400 lines of code. There is not much to show here."}, {"post_id": 7597, "ts": "2026-06-12T18:21:37Z", "hours": 0.4103, "text": "Finally got the check logic on the king correctly. You are now unable to move a piece, if you are in check. Of course the blocking mecaniks are still missing. And I also should start working on the castlingmechaniks. But then I would me pretty much ready to start on the actual engin."}, {"post_id": 7580, "ts": "2026-06-12T17:51:04Z", "hours": 0.4639, "text": "Quick update, I solved the file capturing error of pawns. It was only a wrong < and > sign."}, {"post_id": 7367, "ts": "2026-06-12T08:39:37Z", "hours": 6.1, "text": "I am slowly getting the realization, how hard this actually gone be. Protected pieces now can’t be captured by the king. But I am still struggeling with the concept of check. It only works for pawns currently, there seems to be a big bug somewhere in the code. And pawns are able to capture from file a to h."}, {"post_id": 6263, "ts": "2026-06-10T15:03:30Z", "hours": 4.7922, "text": "Addet the complete movementlogic ecxept for the king. Even promotions and the sneaky en passant. The kings still proves to be a bit of a challange. But I will get it soon"}, {"post_id": 5722, "ts": "2026-06-09T16:52:46Z", "hours": 2.4717, "text": "I started on some legal checks for the pawn, rook and knight for now. Everything moves as expected. Even with captures and pieces of the own color blocking you. I have also added the blue indecators witch squares are allowed and witch are blocked. The other pieces will come soon."}, {"post_id": 5616, "ts": "2026-06-09T14:12:19Z", "hours": 4.8439, "text": "The piece moving logic is now implemented. You could now theoreticly play the game(exept for promoting pawns). But there are still no legal checks, this will be the next thing to add."}, {"post_id": 4431, "ts": "2026-06-07T19:09:00Z", "hours": 3.5058, "text": "I have addet some logic to mark specific squares if they have a piece on them, and am currently working on a way to move pieces across the board, for storring the possitions of pieces I have decidet to use bitmaps. They are basicly just a long int with 64 bits, each representing one square, one bitmap for every piece type. This may seem slow at the beginning but this will probably be faster for the engin itsself later on."}, {"post_id": 4143, "ts": "2026-06-07T10:50:19Z", "hours": 3.51, "text": "i am able now to display the board and the pieces whereever i want."}]...
|
Title: chess-engin-c by @Leonhard | Stardance
Dev Title: chess-engin-c by @Leonhard | Stardance
Devlogs:
i am able now to display the board and the pieces whereever i want.
I have addet some logic to mark specific squares if they have a piece on them, and am currently working on a way to move pieces across the board, for storring the possitions of pieces I have decidet to use bitmaps. They are basicly just a long int with 64 bits, each representing one square, one bitmap for every piece type. This may seem slow at the beginning but this will probably be faster for the engin itsself later on.
The piece moving logic is now implemented. You could now theoreticly play the game(exept for promoting pawns). But there are still no legal checks, this will be the next thing to add.
I started on some legal checks for the pawn, rook and knight for now. Everything moves as expected. Even with captures and pieces of the own color blocking you. I have also added the blue indecators witch squares are allowed and witch are blocked. The other pieces will come soon.
Addet the complete movementlogic ecxept for the king. Even promotions and the sneaky en passant. The kings still proves to be a bit of a challange. But I will get it soon
I am slowly getting the realization, how hard this actually gone be. Protected pieces now can’t be captured by the king. But I am still struggeling with the concept of check. It only works for pawns currently, there seems to be a big bug somewhere in the code. And pawns are able to capture from file a to h.
Quick update, I solved the file capturing error of pawns. It was only a wrong < and > sign.
Finally got the check logic on the king correctly. You are now unable to move a piece, if you are in check. Of course the blocking mecaniks are still missing. And I also should start working on the castlingmechaniks. But then I would me pretty much ready to start on the actual engin.
I realized that the way my current isKingInCheck funktion works, would just be way to slow, to make a powerfull engin later on. I did a quick search on the internet, and it turns out I need to split between legal and pseudo legal moves. Where the pseudo legal moves, disregard checks. So I started rewriting the last 400 lines of code. There is not much to show here.
All pieces are back to the right way the shouldm except the king. I know have some super clean funktions, that should make position calculation extreamly fast. I also heard about some optimizations with shifting bit array, to make the movecalculation for a sigle piece even faster. Not really shure how that works jet, but I am planing on implementing that to in the futer. The faster my legal moves calculator is now, the better the engin is gona get later on.
With the new logic it was a easy to add the legal moves for the king back in. Now lets get back at tackeling the blocking and check, and block mechanics.
Got it! Now blocks, checks, pins, and captures work. Everything works. The only missing thing is chastling wich might be a bit tricky to implement. The way the code works now, is the following: Every possable move from a piece gets calculated Every possition after the move gets looked at If the king is attacked in any possition delet the move from the possable moves. This may not ultimatle be the fasters way, but it’s fast enough for now. I might implement a even faster algorithem in the futur, but I like this one because it is just so clean and readable.
I honestly expected the castling to be more complicated. But it is done now. With all rules implemented. No castling, afte moving the rook, the king, or if the king is in check, or if a rook has been taken. There is only one thing missing to make this game really playable, in a Player vs Player sense. Checkmate!
Checkmate has been addet, also the ability to draw, by stalemate and the 50 move rule. I won’t do the draw for insuficient material jet, maybe later down the road. But while testing I found a terrific but with pawnpromotion, It sometimes giliches out and ask you for a piece even if your not on the first or eightest rang.
This was the most frustrating error jet. Took me forever to figur out what even was going on. And I took me even longer fixing it. So what keept happening was this: Every time we look for a mate we simulate all of the opponents moves If a pawn on the second or seventh rankt(one square away from queening) was just sitting idle the programm simulated the promotion Because the promotion was just a simple scanf the complete programm came to a halt. To fix this I have implemented a way to queen as user and also, one for the Bot, later down the line. Although the bot one only queens for now. I am not sure jet if it is even nessecery to programm it to promot to any other piece, because it is almost never really the only winning idea.
Now with all of the groundlaying rules done, it is time to focus on the bot. I have already worked on the way the bot is gona be implemented. But the implementation itsself is still the biggest thing to work on. Right here you can see a bot that does a random legal move on the board. I didn’t even bother to check what elo this would be, but i would assume 150 to 250 elo. Next I will work on a evaluation funktion, which should be pretty easy.
I am not really sure how to structure my next few blogs. It will defenitly take 20h+ until the engin is somewhere playable. And I don’t want to log such a long time in on go. So I think I am just gona give small updates inbetween to show the inside of a chess engin. The codepiece here is a basic evaluation funktion. It tells me exaclty which side is better at any given point. Although right now it is only counting material and not the quallity of the pieces that they contribute in the game.
First test on the engin. I use a recursive minimax funktion. Look a couple of moves into the futer and evaluate the positions. The bot already understands the idea of captures. But it has no positional play at all. It is also terreable at checkmating.
After some big optimizations, like moveordering and alpha-beta pruning, we are at a point where the engin actually beginns to get good. This engin is now comportable able to beat me. (I am about 1400 elo). It struggels a bit on endgames, and log-term development. I wasn’t really able to get a high depthed search, like other engins have it. I will have to take a good look why that might be. Thats gona be my next step.
I addet dynamic depth, so the fewer pieces are on the board the deeper the position gets analyzed.
I addet a negative maximum funktion, with some other optimizations. The time spent to make the engin better isn’t addjustivied. I am gona leave it just like it is. It is better than me and that is good enough.
Ships:
I made a Chees-Engin in C. It only lets you play legal moves, and handles all edge chases with Pins, Checks, Chasteling and Blocking. Finding which moves are legal and which illegal, was probably the hardest part about this project, because I do not just use a normal 8 by 8 array for the field but instead a 64Bit int for each piecetype and color where each bit reprecents a square. The bitmanipulation was a nightmare to say the least. The actuall engin itself wasn’t a walk in the park either, but by then I have allready gotten used to it. The projekt is on my Github, but only for LINUX. (Sorry, didn’t really bother making a Windows version, because I personaly avoid using Windows at all cost)...
|
1793001010.9056516
|
1793865010.9056516
|
|
38338
|
chess-framework by @satr14 | Stardance
|
satr14
|
0
|
4.23
|
0
|
[]
|
[{"post_id": 34956, "ts": "202 [{"post_id": 34956, "ts": "2026-07-26T02:31:32Z", "hours": 0.8728, "text": "before list of changes, i just wanna say that the hardest part is wrapping my head around the bit shifting logic and figuring out how to represent moves and pieces in a single integer. because the main focus of this is gonna be performance so that i can build a chess bot on top of this and have decent speeds. anyways: optimized piece enum to use 1 less bit for color use bit shifts in piece.color to better understand rename utils.ts to game.ts and update imports tweaked enums to integrate more with the movegen system im going to implement added Promotion, Capture, and MoveFlag enums not much changes to the ui so here is screenshot of the code"}, {"post_id": 34539, "ts": "2026-07-25T10:36:28Z", "hours": 0.9764, "text": "change board turn variable to whiteTurn for value to be bool rename Board class to Game fully implement fen parser add extra debug details in side panel add ways to subscribe to game instance updates add function to convert algebraic notation to board index (for enpassant fen parsing) change image display for fs readability (use char instead of raw number representation) move some constants for char and number conversion to utils.ts remove comments and unused code add ascii representation of board in sidebar add function to get ascii representation of board"}, {"post_id": 34513, "ts": "2026-07-25T09:28:31Z", "hours": 0.8922, "text": "fen parsing (partial, only for the board part) dump button to dump board object view/board ui updating button styling adjusted index label position"}, {"post_id": 34410, "ts": "2026-07-25T02:55:53Z", "hours": 1.49, "text": "init sveltekit with tailwind made a basic chessboard display looping through a 64 length array downloaded chess pieces to static assets show index toggle show board pieces based of array value disable ssr for future debugging in browser define types and class for chess board (screenshot may not show any pieces but thats because im working on fen parsing as im writing this)"}]...
|
Title: chess-framework by @satr14 | Stardance
Dev Title: chess-framework by @satr14 | Stardance
Devlogs:
init sveltekit with tailwind made a basic chessboard display looping through a 64 length array downloaded chess pieces to static assets show index toggle show board pieces based of array value disable ssr for future debugging in browser define types and class for chess board (screenshot may not show any pieces but thats because im working on fen parsing as im writing this)
fen parsing (partial, only for the board part) dump button to dump board object view/board ui updating button styling adjusted index label position
change board turn variable to whiteTurn for value to be bool rename Board class to Game fully implement fen parser add extra debug details in side panel add ways to subscribe to game instance updates add function to convert algebraic notation to board index (for enpassant fen parsing) change image display for fs readability (use char instead of raw number representation) move some constants for char and number conversion to utils.ts remove comments and unused code add ascii representation of board in sidebar add function to get ascii representation of board
before list of changes, i just wanna say that the hardest part is wrapping my head around the bit shifting logic and figuring out how to represent moves and pieces in a single integer. because the main focus of this is gonna be performance so that i can build a chess bot on top of this and have decent speeds. anyways: optimized piece enum to use 1 less bit for color use bit shifts in piece.color to better understand rename utils.ts to game.ts and update imports tweaked enums to integrate more with the movegen system im going to implement added Promotion, Capture, and MoveFlag enums not much changes to the ui so here is screenshot of the code...
|
1793594842.9048195
|
1794458842.9048195
|
|
21446
|
chessler by @vuktacic | Stardance
|
vuktacic
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: chessler by @vuktacic | Stardance
|
1793857895.3345203
|
1794462695.3345203
|
|
66299
|
chesspress.com by @shreyashankarpure | Stardance
|
shreyashankarpure
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: chesspress.com by @shreyashankarpure | Star Title: chesspress.com by @shreyashankarpure | Stardance...
|
1793717305.4028034
|
1794322105.4028034
|
|
72430
|
chessroyale-classic by @imayush283 | Stardance
|
imayush283
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: chessroyale-classic by @imayush283 | Starda Title: chessroyale-classic by @imayush283 | Stardance...
|
1793468823.5179021
|
1794073623.5179021
|
|
17121
|
chessy by @rishe | Stardance
|
rishe
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: chessy by @rishe | Stardance
|
1793210150.9909735
|
1793814950.9909735
|
|
23786
|
chicagOS by @isadora_M | Stardance
|
isadora_M
|
3
|
69.0
|
548
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-11-01T00:33:45Z", "hours": 7.0, "multiplier": 9.54, "payout": 70, "blessing": "neutral", "text": "So happy this project is finally done! After spending almost 70 hours on this over the last 4 months, I am happy to present chicagOS! I created this project to portray the positive parts of my hometown, Chicago. As Chicago can be portrayed in a very negative way in media, many people have false conceptions about what Chicago is actually like. Hopefully, this project lets people see all the good parts of Chicago!", "repo": "https://github.com/IsaJM111/chicagOS", "demo": "https://isajm111.github.io/chicagOS/"}, {"ship_num": 2, "ts": "2026-08-18T03:31:35Z", "hours": 51.0, "multiplier": 9.34, "payout": 478, "blessing": "neutral", "text": "chicagOS has finally reached completion! I have spent over a month working on this project, and I am really proud of what I have accomplished. While I enjoyed working on all aspects of this project, I had the most fun playing around with CSS and creating fun animated features for the OS. I am no expert in JS or CSS, so there were many learning curves associated with this project. The biggest challenge I faced was converting my file system from localStorage to indexedDB I made this change due to the limitations of localStorage, but indexedDB uses a very different framework, so I ended up needing to completely redo the code for some of my apps. I am really excited about all the new things I learned in this process, and happy to create a fun project themed around my hometown of Chicago!", "repo": "https://github.com/IsaJM111/chicagOS", "demo": "https://isajm111.github.io/chicagOS/"}, {"ship_num": 3, "ts": "2026-07-06T01:01:19Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is the Chicago-themed web OS I made for the WebOS 1 mission. I learned a lot about JS, HTML, and CSS. I have some experience with JS and HTML, but it is my first time using non-inline CSS, which has been fun. I had a great time designing the website and creating all of the features and apps. Some challenges included dealing with importing images, which took a very long time, and making certain UI elements look good.", "repo": "https://github.com/IsaJM111/chicagOS", "demo": "https://isajm111.github.io/chicagOS/"}]...
|
[{"post_id": 86030, "ts": "202 [{"post_id": 86030, "ts": "2026-11-01T00:29:34Z", "hours": 1.0589, "text": "chicagOS Devlog #22 - The Final Devlog!!!!!! I have had so much fun working on this project for the last couple months, and I will probably continue in the months to follow! I’ve just been cleaning up some of the code and updating the docs so it is ready to ship!"}, {"post_id": 84694, "ts": "2026-10-30T03:10:52Z", "hours": 3.4236, "text": "chicagOS Devlog #21- I have been working on fixing a variety of different bugs, and as of right now, pretty much everything is working. I have also added a widget that rotates through the gallery photos, but I’m not sure if I like the design, so I’m probably going to change it. Hoping to wrap this up soon!"}, {"post_id": 80052, "ts": "2026-10-16T02:36:27Z", "hours": 1.7725, "text": "chicagOS Devlog #20 - I have added the option to hide the taskbar, and I have also created a setting to toggle the taskbar from being on the bottom to being on the top. There are now 4 different options for the wallpaper, which I think makes the webpage even more fun! I changed some small things with the CSS, but soon I hope to add more fun small features that will make this OS even more useful."}, {"post_id": 78464, "ts": "2026-10-10T21:02:05Z", "hours": 1.0956, "text": "ChicagOS Devlog #19 - I’m reviving this project! I kept thinking of new things I could add to this project, so I will be starting work on this again after 2 months! The only real thing I did today was add new options for wallpapers, including this fun nighttime scene. Soon the first order of business will be getting better app icons, as currently they are just emojis, and adding a taskbar minimize."}, {"post_id": 49340, "ts": "2026-08-18T03:24:34Z", "hours": 1.0381, "text": "chicagOS Devlog #18 - Final devlog before shipping! Not many visual changes, as I have spent a lot of time cleaning up the code, removing unused classes from CSS, deleting temporary console.log() , removing unnecessary comments, etc. I cleaned up some animations in CSS, but other than that, none of the code has really changed. I’ve really enjoyed working on this OS project, but I’m definitely excited to start something new."}, {"post_id": 47842, "ts": "2026-08-16T02:02:58Z", "hours": 6.7161, "text": "chicagOS Devlog #17 - Lots of changes! I’m wrapping up this project soon, so I am putting some final touches on the UI and making some backend changes. The file system now runs entirely using indexedDB instead of localStorage which means all file types can be saved now. The music app and gallery app have been connected to the file system. I also added a small calendar popup when you click on the time element. My biggest visual change was adding a startup screen. It was made almost entirely in CSS, and a single function in JS. I’m not sure if I’m going to add any more features before shipping, so if anyone has any suggestions lmk,"}, {"post_id": 44975, "ts": "2026-08-11T02:54:46Z", "hours": 1.4706, "text": "chicagOS Devlog #16 - I am still being indecisive about possibly adding a new app, so I decided to spruce up one of my simplest apps so far, Gallery. I mainly wanted to change how the photos were displayed, which wasn’t too difficult. The only real new feature I added was the ability to add custom photos, which was pretty easy because I used direct input from the computer. I also added the ability for grid view. At first I tried rebuilding the HTML for grid view, but I decided it would be easier to just have an invisible <div> that contained the grid layout. I don’t have any ideas for other apps to update, so if anyone has new app ideas, lmk cause I ran out days ago."}, {"post_id": 42816, "ts": "2026-08-07T18:48:02Z", "hours": 4.9344, "text": "chicagOS Devlog #15 - I have created the Music player app! You can upload any audio file from your computer and queue it in the playlist on the right. There is volume control, a time slider, play/pause, and skip/reverse. It will automatically load the name of the song, artist, and cover art if it is known. I originally planned on integrating this app with the existing file system, but it turns out audio files cannot be stored in localStorage so I had to scrap that idea. Currently, the playlist is just an array, which means it unfortunately does not save once the page is reloaded. But trust me, I’m going to update the file system so it can store all file types soon! I don’t really know what apps I’m going to add next, so I guess we will see where the wind takes me."}, {"post_id": 38597, "ts": "2026-08-01T02:30:53Z", "hours": 4.5422, "text": "chicagOS- Devlog 14 I’ve added a lot more functionality to the file system. Now you can add new folders, delete folders, and rename folders. You can also drag to reorder the folders in the sidebar. I also added a custom alert/notification center, so alerts such as “cannot delete system folders,” etc will be displayed, along with any other possible notification features I might add. Next, I plan on making a music app."}, {"post_id": 37322, "ts": "2026-07-29T22:57:39Z", "hours": 4.6961, "text": "chicagOS Devlog 13- I have created the file explorer app, and built the new file system. Now, instead of each app being connected directly to localStorage, they all use the same newFile() and getFile() functions from a central file system. Each app has a dedicated folder within the system. Next up, I hope to make a music player app, with the ability to add audio files."}, {"post_id": 35563, "ts": "2026-07-27T02:55:29Z", "hours": 4.02, "text": "chicagOS #Devlog 12- Terminal app is pretty much done! Obviously, I will add new commands as the OS gets more features, but I have some basic commands done! I also added a switch to toggle the quotes visibility in the settings app. Next, I plan on adding a file explorer which will connect all the apps into a single file system!"}, {"post_id": 33291, "ts": "2026-07-23T02:33:15Z", "hours": 4.455, "text": "chicagOS Devlog 11- The Header has been turned into a dock! I tried to reuse my existing code to open apps, but I couldn’t get it to work, so I had to end up redoing it twice. I also added some JS so that when you click on an open window it is put into focus. This is what the dynamic background is looking like so far, hopefully I can improve it more. Next I plan on adding some more apps, possibly including a terminal and a file explorer."}, {"post_id": 30993, "ts": "2026-07-19T00:40:37Z", "hours": 3.1639, "text": "chicagOS Devlog 10- Dynamic wallpaper is done! (kinda) I’ve been having issues trying to use images that have the background removed, so if anyone knows how that works, please lmk! I created a settings app to choose between the classic wallpaper (non-animated) and the dynamic wallpaper (many animated parts). The dynamic wallpaper will probably change once I can figure out the images I’m using. Next up, I am planning on turning the header into a dock! I will probably move the quotes to a widget."}, {"post_id": 28973, "ts": "2026-07-15T16:21:10Z", "hours": 3.5811, "text": "chicagOS Devlog 9- The Mind Map app is finally working! all of the nodes are draggable, and you can zoom in and out. Turns out the issue was that new nodes coordinates were being calculated from the root node instead of their parent node, so the line drawing function couldn’t find the new nodes. Also, I expanded the notes app! Before you could not save notes, but now you can! I added a side bar to display the saved notes, and also added the ability to remove saved notes. Next I plan to make some more UI improvements, maybe even a dynamic background?"}, {"post_id": 27808, "ts": "2026-07-13T18:07:26Z", "hours": 3.3197, "text": "chicagOS Devlog #8 - Browser app is completed! I used i-frame to display the browser window. The search bar takes web addresses, and if what is entered is not a valid web address, it automatically inputs it as a Google search prompt instead. I also added some bookmarked web pages, and forward and backward buttons that work by storing the web history. Next, I want to add more functionality to the notes app, including the ability to save and delete notes."}, {"post_id": 26810, "ts": "2026-07-11T20:20:04Z", "hours": 4.0203, "text": "chicagOS Devlog 7- The Paint app is mostly done! I added functionality to the save and load paintings button. I also updated the UI of the toolbar. I created the UI for the browser app, which currently doesn’t have any functionality. I plan to use an iframe to display webpages and also provide some bookmarked websites."}, {"post_id": 25020, "ts": "2026-07-08T23:01:48Z", "hours": 5.1878, "text": "chicagOS Devlog 6- A lot of progress has been made! I’ve been waiting for my ship to be approved for WebOS1, which it just was! Yay! But in the last 4 days, I have made a lot of changes, so prepare yourselves. #1 - The UI has had major improvements! I went down the W3Schools rabbit hole and added a bunch of things to make the UI look cleaner, including the first animated element of the UI! #2- Paint app! - I added the paint app, and it currently has pretty basic functionality. You can draw, change colors, change brush size, erase, and clear the canvas. I plan to add a save feature soon. (The button currently doesn’t do anything.) #3- I WILL FIGURE OUT THIS MIND MAP APP! I fixed a few things, but some things still aren’t working. Currently, lines don’t get drawn past the root node, and I think it has something to do with the ID hierarchy? We will see. #4- I added a feature of the desktop header that rotates through quotes about Chicago! It has the same animated background as the welcome window. That’s it for now; hopefully I can continue to improve the UI and the paint app!"}, {"post_id": 22565, "ts": "2026-07-05T02:36:53Z", "hours": 0.5222, "text": "chicagOS Devlog #5- Getting ready to complete the guide for WebOS 1! I cleaned up a few things with the UI, and I have decided that the Mind Map app will not be included in this first ship :( But trust, when I get smarter it will be coming back!"}, {"post_id": 16634, "ts": "2026-06-27T01:52:28Z", "hours": 3.0778, "text": "chicagOS devlog #4- Not that much progress recently! Turns out working with images is very frustrating. I created the gallery app, which had its surprising challenges. I figured that the JS logic for cycling between the photos and looping back to the first image would be easy, but I was severely mistaken. I spent at least an hours trying to stop the images from taking up the whole window, repeating, stretching, somehow being mirrored, just about every issue you can imagine. All of these had very simple fixes, but I couldn’t figure out what I should put in the CSS file, and which needed to be in-line (spoiler alert- pretty much none of it). But either way, the images act like normal images now! Yay! More functionality in the notes app is what I have planned next."}, {"post_id": 15389, "ts": "2026-06-25T00:52:48Z", "hours": 3.4053, "text": "chicagOS devlog #3 - Alright so I have changed a few things recently. #1 - I rethemed the whole OS, but later I might add a way to choose a theme in a setting app? idk I haven’t decided yet. // #2, I started working on the Mind Map App, but I quickly realized that its actually more complicated than I originally thought, and since I’m not that good at this I decided that I will come back to that app later. // #3 I made a calculator app, which is fully functioning and (as far as i’m aware) doesn’t have any bugs. // #4 I finished the notes app, but I might add more functionality later. // Thats it in terms of new features, my future plans include possibly some sort of settings app, finishing the Mind Map App, and I would like to add some sort of photo gallery app, which is what I plan to work on next."}, {"post_id": 14041, "ts": "2026-06-23T00:46:53Z", "hours": 2.2753, "text": "chicagOS log 2 - I have since added the actual window for the notes app, and basic functionality including adding notes and writing in them. I plan to add a save feature, and the ability to have multiple notes open at the same time. While working through the guide, it told me to make a “mind map” using paper for brainstorming. I thought about how I didn’t want to get up to grab a piece of paper, and I knew what my next app would be: a Mind Map app! now I will never have to get up again. I haven’t added any functionality to this app yet, but it should be relatively simple. (currently the app icons are placeholders from google, I promise they will be better eventually!)"}, {"post_id": 13747, "ts": "2026-06-22T15:12:35Z", "hours": 1.2672, "text": "The basics of the webOS are done! It is Chicago themed, and all the apps will be useful to someone who lives/is visiting Chicago. I actually sent more time on this project but I couldn’t figure out hackatime :( Regardless, I finished the background, top bar, and welcome screen that is draggable and able to be opened and closed. I plan to work on the first app soon, which will likely be a notes type app."}]...
|
Title: chicagOS by @isadora_M | Stardance
Devlogs Title: chicagOS by @isadora_M | Stardance
Devlogs:
The basics of the webOS are done! It is Chicago themed, and all the apps will be useful to someone who lives/is visiting Chicago. I actually sent more time on this project but I couldn’t figure out hackatime :( Regardless, I finished the background, top bar, and welcome screen that is draggable and able to be opened and closed. I plan to work on the first app soon, which will likely be a notes type app.
chicagOS log 2 - I have since added the actual window for the notes app, and basic functionality including adding notes and writing in them. I plan to add a save feature, and the ability to have multiple notes open at the same time. While working through the guide, it told me to make a “mind map” using paper for brainstorming. I thought about how I didn’t want to get up to grab a piece of paper, and I knew what my next app would be: a Mind Map app! now I will never have to get up again. I haven’t added any functionality to this app yet, but it should be relatively simple. (currently the app icons are placeholders from google, I promise they will be better eventually!)
chicagOS devlog #3 - Alright so I have changed a few things recently. #1 - I rethemed the whole OS, but later I might add a way to choose a theme in a setting app? idk I haven’t decided yet. // #2, I started working on the Mind Map App, but I quickly realized that its actually more complicated than I originally thought, and since I’m not that good at this I decided that I will come back to that app later. // #3 I made a calculator app, which is fully functioning and (as far as i’m aware) doesn’t have any bugs. // #4 I finished the notes app, but I might add more functionality later. // Thats it in terms of new features, my future plans include possibly some sort of settings app, finishing the Mind Map App, and I would like to add some sort of photo gallery app, which is what I plan to work on next.
chicagOS devlog #4- Not that much progress recently! Turns out working with images is very frustrating. I created the gallery app, which had its surprising challenges. I figured that the JS logic for cycling between the photos and looping back to the first image would be easy, but I was severely mistaken. I spent at least an hours trying to stop the images from taking up the whole window, repeating, stretching, somehow being mirrored, just about every issue you can imagine. All of these had very simple fixes, but I couldn’t figure out what I should put in the CSS file, and which needed to be in-line (spoiler alert- pretty much none of it). But either way, the images act like normal images now! Yay! More functionality in the notes app is what I have planned next.
chicagOS Devlog #5- Getting ready to complete the guide for WebOS 1! I cleaned up a few things with the UI, and I have decided that the Mind Map app will not be included in this first ship :( But trust, when I get smarter it will be coming back!
chicagOS Devlog 6- A lot of progress has been made! I’ve been waiting for my ship to be approved for WebOS1, which it just was! Yay! But in the last 4 days, I have made a lot of changes, so prepare yourselves. #1 - The UI has had major improvements! I went down the W3Schools rabbit hole and added a bunch of things to make the UI look cleaner, including the first animated element of the UI! #2- Paint app! - I added the paint app, and it currently has pretty basic functionality. You can draw, change colors, change brush size, erase, and clear the canvas. I plan to add a save feature soon. (The button currently doesn’t do anything.) #3- I WILL FIGURE OUT THIS MIND MAP APP! I fixed a few things, but some things still aren’t working. Currently, lines don’t get drawn past the root node, and I think it has something to do with the ID hierarchy? We will see. #4- I added a feature of the desktop header that rotates through quotes about Chicago! It has the same animated background as the welcome window. That’s it for now; hopefully I can continue to improve the UI and the paint app!
chicagOS Devlog 7- The Paint app is mostly done! I added functionality to the save and load paintings button. I also updated the UI of the toolbar. I created the UI for the browser app, which currently doesn’t have any functionality. I plan to use an iframe to display webpages and also provide some bookmarked websites.
chicagOS Devlog #8 - Browser app is completed! I used i-frame to display the browser window. The search bar takes web addresses, and if what is entered is not a valid web address, it automatically inputs it as a Google search prompt instead. I also added some bookmarked web pages, and forward and backward buttons that work by storing the web history. Next, I want to add more functionality to the notes app, including the ability to save and delete notes.
chicagOS Devlog 9- The Mind Map app is finally working! all of the nodes are draggable, and you can zoom in and out. Turns out the issue was that new nodes coordinates were being calculated from the root node instead of their parent node, so the line drawing function couldn’t find the new nodes. Also, I expanded the notes app! Before you could not save notes, but now you can! I added a side bar to display the saved notes, and also added the ability to remove saved notes. Next I plan to make some more UI improvements, maybe even a dynamic background?
chicagOS Devlog 10- Dynamic wallpaper is done! (kinda) I’ve been having issues trying to use images that have the background removed, so if anyone knows how that works, please lmk! I created a settings app to choose between the classic wallpaper (non-animated) and the dynamic wallpaper (many animated parts). The dynamic wallpaper will probably change once I can figure out the images I’m using. Next up, I am planning on turning the header into a dock! I will probably move the quotes to a widget.
chicagOS Devlog 11- The Header has been turned into a dock! I tried to reuse my existing code to open apps, but I couldn’t get it to work, so I had to end up redoing it twice. I also added some JS so that when you click on an open window it is put into focus. This is what the dynamic background is looking like so far, hopefully I can improve it more. Next I plan on adding some more apps, possibly including a terminal and a file explorer.
chicagOS #Devlog 12- Terminal app is pretty much done! Obviously, I will add new commands as the OS gets more features, but I have some basic commands done! I also added a switch to toggle the quotes visibility in the settings app. Next, I plan on adding a file explorer which will connect all the apps into a single file system!
chicagOS Devlog 13- I have created the file explorer app, and built the new file system. Now, instead of each app being connected directly to localStorage, they all use the same newFile() and getFile() functions from a central file system. Each app has a dedicated folder within the system. Next up, I hope to make a music player app, with the ability to add audio files.
chicagOS- Devlog 14 I’ve added a lot more functionality to the file system. Now you can add new folders, delete folders, and rename folders. You can also drag to reorder the folders in the sidebar. I also added a custom alert/notification center, so alerts such as “cannot delete system folders,” etc will be displayed, along with any other possible notification features I might add. Next, I plan on making a music app.
chicagOS Devlog #15 - I have created the Music player app! You can upload any audio file from your computer and queue it in the playlist on the right. There is volume control, a time slider, play/pause, and skip/reverse. It will automatically load the name of the song, artist, and cover art if it is known. I originally planned on integrating this app with the existing file system, but it turns out audio files cannot be stored in localStorage so I had to scrap that idea. Currently, the playlist is just an array, which means it unfortunately does not save once the page is reloaded. But trust me, I’m going to update the file system so it can store all file types soon! I don’t really know what apps I’m going to add next, so I guess we will see where the wind takes me.
chicagOS Devlog #16 - I am still being indecisive about possibly adding a new app, so I decided to spruce up one of my simplest apps so far, Gallery. I mainly wanted to change how the photos were displayed, which wasn’t too difficult. The only real new feature I added was the ability to add custom photos, which was pretty easy because I used direct input from the computer. I also added the ability for grid view. At first I tried rebuilding the HTML for grid view, but I decided it would be easier to just have an invisible <div> that contained the grid layout. I don’t have any ideas for other apps to update, so if anyone has new app ideas, lmk cause I ran out days ago.
chicagOS Devlog #17 - Lots of changes! I’m wrapping up this project soon, so I am putting some final touches on the UI and making some backend changes. The file system now runs entirely using indexedDB instead of localStorage which means all file types can be saved now. The music app and gallery app have been connected to the file system. I also added a small calendar popup when you click on the time element. My biggest visual change was adding a startup screen. It was made almost entirely in CSS, and a single function in JS. I’m not sure if I’m going to add any more features before shipping, so if anyone has any suggestions lmk,
chicagOS Devlog #18 - Final devlog before shipping! Not many visual changes, as I have spent a lot of time cleaning up the code, removing unused classes from CSS, deleting temporary console.log() , removing unnecessary comments, etc. I cleaned up some animations in CSS, but other than that, none of the code has really changed. I’ve really enjoyed working on this OS project, but I’m definitely excited to start something new.
ChicagOS Devlog #19 - I’m reviving this project! I kept thinking of new things I could add to this project, so I will be starting work on this again after 2 months! The only real thing I did today was add new options for wallpapers, including this fun nighttime scene. Soon the first order of business will be getting better app icons, as currently they are just emojis, and adding a taskbar minimize.
chicagOS Devlog #20 - I have added the option to hide the taskbar, and I have also created a setting to toggle the taskbar from being on the bottom to being on the top. There are now 4 different options for the wallpaper, which I think makes the webpage even more fun! I changed some small things with the CSS, but soon I hope to add more fun small features that will make this OS even more useful.
chicagOS Devlog #21- I have been working on fixing a variety of different bugs, and as of right now, pretty much everything is working. I have also added a widget that rotates through the gallery photos, but I’m not sure if I like the design, so I’m probably going to change it. Hoping to wrap this up soon!
chicagOS Devlog #22 - The Final Devlog!!!!!! I have had so much fun working on this project for the last couple months, and I will probably continue in the months to follow! I’ve just been cleaning up some of the code and updating the docs so it is ready to ship!
Ships:
This is the Chicago-themed web OS I made for the WebOS 1 mission. I learned a lot about JS, HTML, and CSS. I have some experience with JS and HTML, but it is my first time using non-inline CSS, which has been fun. I had a great time designing the website and creating all of the features and apps. Some challenges included dealing with importing images, which took a very long time, and making certain UI elements look good.
chicagOS has finally reached completion! I have spent over a month working on this project, and I am really proud of what I have accomplished. While I enjoyed working on all aspects of this project, I had the most fun playing around with CSS and creating fun animated features for the OS. I am no expert in JS or CSS, so there were many learning curves associated with this project. The biggest challenge I faced was converting my file system from localStorage to indexedDB I made this change due to the limitations of localStorage, but indexedDB uses a very different framework, so I ended up needing to completely redo the code for some of my apps. I am really excited about all the new things I learned in this process, and happy to create a fun project themed around my hometown of Chicago!
So happy this project is finally done! After spending almost 70 hours on this over the last 4 months, I am happy to present chicagOS! I created this project to portray the positive parts of my hometown, Chicago. As Chicago can be portrayed in a very negative way in media, many people have false conceptions about what Chicago is actually like. Hopefully, this project lets people see all the good parts of Chicago!...
|
1793778786.773442
|
1793865186.773442
|
|
2289
|
chicken adviser by @rags | Stardance
|
rags
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: chicken adviser by @rags | Stardance
|
1793552201.89182
|
1794157001.89182
|
|
5599
|
chicken bawk bawk by @riamu | Stardance
|
riamu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: chicken bawk bawk by @riamu | Stardance
|
1793227951.038554
|
1793832751.038554
|
|
55062
|
chicken butt by @poult | Stardance
|
poult
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: chicken butt by @poult | Stardance
|
1793778617.290425
|
1794383417.290425
|
|
69223
|
chiikawa game by @pigeon_ | Stardance
|
pigeon_
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T02:35:50Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a color matching battle game. A color shows for a few seconds, you memorize it, then you recreate it with hue, saturation and brightness sliders. The closer you get, the more damage you do to the enemy, and the enemy hits back for a random amount. It started as a plain color guessing game and turned into a fight with health bars, a guess timer, attack animations and a draggable color panel. The hardest part was the layout and the CSS. At one point half of my styles just weren’t saved, so EVERYTHING looked broken and I couldn’t figure out why. I’m proud that it went from a basic color guesser to a real game with its own design, and that I came up with the battle idea myself and built it from my own sketch. The squiggle health bars and the animated background are my fav parts To test it: open the demo link and press Start. Memorize the color, then match it with the sliders and press Attack. Try losing on purpose, try running out the 10 second timer, and drag the colors window around. It works best on a computer. It’s a fan project inspired by Chiikawa, not official.", "repo": "https://github.com/jiujiu-dot/aaa", "demo": "https://jiujiu-dot.github.io/aaa/"}]...
|
[{"post_id": 79219, "ts": "202 [{"post_id": 79219, "ts": "2026-10-13T02:33:07Z", "hours": 0.8497, "text": "devlog 5th finished!!"}, {"post_id": 79210, "ts": "2026-10-13T01:33:53Z", "hours": 0.5142, "text": "devlog 4th…. finishing touches"}, {"post_id": 79201, "ts": "2026-10-13T00:45:43Z", "hours": 0.4275, "text": "devlog 3th! made a animation"}, {"post_id": 79199, "ts": "2026-10-13T00:16:41Z", "hours": 2.555, "text": "devlog 2 but im too lazy to type all that sooo heres what i did yeahahha YAY I ADDED USAGI"}, {"post_id": 79167, "ts": "2026-10-12T21:10:33Z", "hours": 5.0342, "text": "DEVLOG 1 soo i started with a plain color guessing game (the kind where you memorize a color then try to match it with hue, saturation and brightness sliders) and today it turned into a whole battle game with chiikawa ofc um yea heres what i did today: Turned the color game into a fight player and the enemy both have a bar with 10 slots. the better your color guess the more damage you do (90+ = 5 damage, 80+ = 4, and sooo on down to a miss). then the enemy hits back for a random 1-4, so it’s a LITTLE easier to win. hp bars in the top corners, player and enemy in the middle, and the color controls in a little panel at the bottom left. i drew a really UGLY sketch and then built it"}]...
|
Title: chiikawa game by @pigeon_ | Stardance
Devl Title: chiikawa game by @pigeon_ | Stardance
Devlogs:
DEVLOG 1 soo i started with a plain color guessing game (the kind where you memorize a color then try to match it with hue, saturation and brightness sliders) and today it turned into a whole battle game with chiikawa ofc um yea heres what i did today: Turned the color game into a fight player and the enemy both have a bar with 10 slots. the better your color guess the more damage you do (90+ = 5 damage, 80+ = 4, and sooo on down to a miss). then the enemy hits back for a random 1-4, so it’s a LITTLE easier to win. hp bars in the top corners, player and enemy in the middle, and the color controls in a little panel at the bottom left. i drew a really UGLY sketch and then built it
devlog 2 but im too lazy to type all that sooo heres what i did yeahahha YAY I ADDED USAGI
devlog 3th! made a animation
devlog 4th…. finishing touches
devlog 5th finished!!
Ships:
I made a color matching battle game. A color shows for a few seconds, you memorize it, then you recreate it with hue, saturation and brightness sliders. The closer you get, the more damage you do to the enemy, and the enemy hits back for a random amount. It started as a plain color guessing game and turned into a fight with health bars, a guess timer, attack animations and a draggable color panel. The hardest part was the layout and the CSS. At one point half of my styles just weren’t saved, so EVERYTHING looked broken and I couldn’t figure out why. I’m proud that it went from a basic color guesser to a real game with its own design, and that I came up with the battle idea myself and built it from my own sketch. The squiggle health bars and the animated background are my fav parts To test it: open the demo link and press Start. Memorize the color, then match it with the sliders and press Attack. Try losing on purpose, try running out the 10 second timer, and drag the colors window around. It works best on a computer. It’s a fan project inspired by Chiikawa, not official....
|
1793807726.686809
|
1793894126.686809
|
|
24801
|
chillrun by @Victoriia | Stardance
|
Victoriia
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: chillrun by @Victoriia | Stardance
|
1793346573.1740484
|
1793951373.1740484
|
|
47521
|
chip 8 emulator by @vexith | Stardance
|
vexith
|
2
|
9.0
|
53
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T15:13:03Z", "hours": 7.0, "multiplier": 6.72, "payout": 50, "blessing": "neutral", "text": "i built a lightweight chip-8 (programming language for old 8-bits microcomputers from the 1970s) emulator from scratch. now it’s running pratically all the games i tested for it without glitches, only “issue” to address is a light flicker but this is by design of chip8 how to test it: compile it yourself or run the pre-compiled binary on github.", "repo": "https://github.com/Vexith/chip8-emulator-c/", "demo": "https://github.com/Vexith/chip8-emulator-c/releases/"}, {"ship_num": 2, "ts": "2026-08-13T18:32:49Z", "hours": 2.0, "multiplier": 2.03, "payout": 3, "blessing": "neutral", "text": "i built a lightweight chip-8 emulator from scratch. now it’s very minimal and stripped down (not all opcodes implemented yet), but it sucessfully loads and renders the basic IBM rom how to test it: compile it yourself (made exclusively for windows) or run the pre-compiled exe on github.", "repo": "https://github.com/Vexith/chip8-emulator-c/", "demo": "https://github.com/Vexith/chip8-emulator-c/releases/"}]...
|
[{"post_id": 60208, "ts": "202 [{"post_id": 60208, "ts": "2026-09-02T13:10:35Z", "hours": 2.6883, "text": "devlog #4 - audio engine, new ui and linux build added sound support fixed a bug in the draw instruction missing a “break;” fixed a bug in math operations that bugged the collision in some games (brix and pong) readme rewritten for better clarity new user interface added linux support (sorry for bad gameplay)"}, {"post_id": 56342, "ts": "2026-08-28T02:36:52Z", "hours": 2.2806, "text": "devlog #3 - (not so) final release added rendering with SDL in a separate window added the remaining opcodes for running all chip8 demos/games fixed the shortcut to exit the emulator (ESC)"}, {"post_id": 48555, "ts": "2026-08-17T00:16:18Z", "hours": 2.4947, "text": "devlog #2 - small corrections what changed: separation of cpu and display responsibilities into dedicated implementation and header files (cpu.c/cpu.h and display.c/display.h). decoding of the x and y registers (in cpu cycle) is now performed once before opcode checking, eliminating redundancy within each switch case. removal of legacy debugging routines and standardization of video buffer handling. (basically same gif as before)"}, {"post_id": 46462, "ts": "2026-08-13T18:00:57Z", "hours": 1.6142, "text": "devlog #1 - writing a emulator i built this (not so) simple emulator for the CHIP-8 architecture what’s working: 4kb ram, 16 registers (V0-VF), Index (I) & PC (0x200) opcodes: clear (00E0), jmp (1NNN), 6XNN and 7XNN (math basically), index (ANNN) and sprites (DXYN) rendering in ascii (thinking about changing it to sdl2) todo: full 35 opcode support keypad input (maybe) migrating to SDL2"}]...
|
Title: chip 8 emulator by @vexith | Stardance
Dev Title: chip 8 emulator by @vexith | Stardance
Devlogs:
devlog #1 - writing a emulator i built this (not so) simple emulator for the CHIP-8 architecture what’s working: 4kb ram, 16 registers (V0-VF), Index (I) & PC (0x200) opcodes: clear (00E0), jmp (1NNN), 6XNN and 7XNN (math basically), index (ANNN) and sprites (DXYN) rendering in ascii (thinking about changing it to sdl2) todo: full 35 opcode support keypad input (maybe) migrating to SDL2
devlog #2 - small corrections what changed: separation of cpu and display responsibilities into dedicated implementation and header files (cpu.c/cpu.h and display.c/display.h). decoding of the x and y registers (in cpu cycle) is now performed once before opcode checking, eliminating redundancy within each switch case. removal of legacy debugging routines and standardization of video buffer handling. (basically same gif as before)
devlog #3 - (not so) final release added rendering with SDL in a separate window added the remaining opcodes for running all chip8 demos/games fixed the shortcut to exit the emulator (ESC)
devlog #4 - audio engine, new ui and linux build added sound support fixed a bug in the draw instruction missing a “break;” fixed a bug in math operations that bugged the collision in some games (brix and pong) readme rewritten for better clarity new user interface added linux support (sorry for bad gameplay)
Ships:
i built a lightweight chip-8 emulator from scratch. now it’s very minimal and stripped down (not all opcodes implemented yet), but it sucessfully loads and renders the basic IBM rom how to test it: compile it yourself (made exclusively for windows) or run the pre-compiled exe on github.
i built a lightweight chip-8 (programming language for old 8-bits microcomputers from the 1970s) emulator from scratch. now it’s running pratically all the games i tested for it without glitches, only “issue” to address is a light flicker but this is by design of chip8 how to test it: compile it yourself or run the pre-compiled binary on github....
|
1793706901.5640912
|
1793793301.5640912
|
|
46369
|
chip-8 by @ama | Stardance
|
ama
|
0
|
5.21
|
0
|
[]
|
[{"post_id": 44599, "ts": "202 [{"post_id": 44599, "ts": "2026-08-10T13:53:56Z", "hours": 5.2144, "text": "After 5 hours i finally got the display to display something… Must be the new IBM logo since my code is flawless (sarcasm)"}]...
|
Title: chip-8 by @ama | Stardance
Devlogs:
After Title: chip-8 by @ama | Stardance
Devlogs:
After 5 hours i finally got the display to display something… Must be the new IBM logo since my code is flawless (sarcasm)...
|
1793382678.987944
|
1793987478.987944
|
|
70273
|
chip8 by @cosmic79conqueror | Stardance
|
cosmic79conqueror
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: chip8 by @cosmic79conqueror | Stardance
|
1793609524.2609878
|
1794214324.2609878
|
|
69432
|
chip8 emulator by @cosmic79conqueror | Stardance
|
cosmic79conqueror
|
0
|
4.55
|
0
|
[]
|
[{"post_id": 79214, "ts": "202 [{"post_id": 79214, "ts": "2026-10-13T01:56:08Z", "hours": 4.5456, "text": "creating a chip8 emulator I first started researching on emulation itself as a topic then went onto discover the chip8 as the first starting point. i then read the chip8 documentation and was fascinated by it. this somehow seemed like i could really understand how computers work with this even if it was like computers of the 1970s i also got to see old python usage: ‘’’ def load_rom(self, rom_path): log(“Loading %s…” % rom_path) binary = open(rom_path, “rb”).read() i = 0 while i < len(binary): self.memory[i+0x200] = ord(binary[i]) i += 1 ‘’’"}]...
|
Title: chip8 emulator by @cosmic79conqueror | Star Title: chip8 emulator by @cosmic79conqueror | Stardance
Devlogs:
creating a chip8 emulator I first started researching on emulation itself as a topic then went onto discover the chip8 as the first starting point. i then read the chip8 documentation and was fascinated by it. this somehow seemed like i could really understand how computers work with this even if it was like computers of the 1970s i also got to see old python usage: ‘’’ def load_rom(self, rom_path): log(“Loading %s…” % rom_path) binary = open(rom_path, “rb”).read() i = 0 while i < len(binary): self.memory[i+0x200] = ord(binary[i]) i += 1 ‘’’...
|
1793703422.268347
|
1794567422.268347
|
|
60910
|
chip8-emulator by @samhith_pola25 | Stardance
|
samhith_pola25
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: chip8-emulator by @samhith_pola25 | Stardan Title: chip8-emulator by @samhith_pola25 | Stardance...
|
1793645774.4494479
|
1794250574.4494479
|
|
53955
|
chirag-portfolio by @chiraglol | Stardance
|
chiraglol
|
1
|
12.0
|
95
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T01:08:15Z", "hours": 12.0, "multiplier": 7.67, "payout": 95, "blessing": "neutral", "text": "After 3 whole years of not updating my portfolio even once, I finally redesigned it from scratch. Lowkey proud of myself for building this with bare minimum usage of AI especially considering I normally suck at design but hey it looks really nice! Integrated the hackatime API to fetch live statistics about my VSCode usage and also last.fm API to display what music I’m listening to at the moment or what I last listened to. Learnt about cached components in Next.js so that’s always a plus :D Hope y’all love it too, and i would love some design suggestions :)", "repo": "https://github.com/chirag350/new-portfolio", "demo": "https://chirag.dev"}]...
|
[{"post_id": 63945, "ts": "202 [{"post_id": 63945, "ts": "2026-09-08T00:57:59Z", "hours": 2.4542, "text": "Last commit before shipping :D! Loved working on actually designing and making a frontend all by myself with bare minimum use of AI Worked on adding a contact section, my socials and a footer. Improved glow all along and fixed scrolling on mobile. See ya until the next one!"}, {"post_id": 62612, "ts": "2026-09-06T02:36:10Z", "hours": 2.135, "text": "overexposed video for some reason but improved glow (much less than you can see in the vid) and implemented state management using zustand (zustand»»»»>) to change nav glow upon scroll using interaction observer"}, {"post_id": 62206, "ts": "2026-09-05T13:57:15Z", "hours": 2.1869, "text": "made the projects section for my portfolio listing all the projects i’ve made over the years"}, {"post_id": 60726, "ts": "2026-09-03T09:08:05Z", "hours": 0.7322, "text": "worked on mobile navigation and improved layout for mobile (give suggestions 😋)"}, {"post_id": 60688, "ts": "2026-09-03T07:09:00Z", "hours": 1.4556, "text": "integrated the hackatime api to pull weekly statistics"}, {"post_id": 58523, "ts": "2026-08-30T23:19:03Z", "hours": 3.3631, "text": "A portfolio for myself, not much done yet but hey! still in the works :) love the catppuccin icons 😋"}]...
|
Title: chirag-portfolio by @chiraglol | Stardance
Title: chirag-portfolio by @chiraglol | Stardance
Devlogs:
A portfolio for myself, not much done yet but hey! still in the works :) love the catppuccin icons 😋
integrated the hackatime api to pull weekly statistics
worked on mobile navigation and improved layout for mobile (give suggestions 😋)
made the projects section for my portfolio listing all the projects i’ve made over the years
overexposed video for some reason but improved glow (much less than you can see in the vid) and implemented state management using zustand (zustand»»»»>) to change nav glow upon scroll using interaction observer
Last commit before shipping :D! Loved working on actually designing and making a frontend all by myself with bare minimum use of AI Worked on adding a contact section, my socials and a footer. Improved glow all along and fixed scrolling on mobile. See ya until the next one!
Ships:
After 3 whole years of not updating my portfolio even once, I finally redesigned it from scratch. Lowkey proud of myself for building this with bare minimum usage of AI especially considering I normally suck at design but hey it looks really nice! Integrated the hackatime API to fetch live statistics about my VSCode usage and also last.fm API to display what music I’m listening to at the moment or what I last listened to. Learnt about cached components in Next.js so that’s always a plus :D Hope y’all love it too, and i would love some design suggestions :)...
|
1793710118.4038205
|
1793796518.4038205
|
|
72493
|
chlorine by @zvan | Stardance
|
zvan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: chlorine by @zvan | Stardance
|
1793490432.2397456
|
1794095232.2397456
|
|
49164
|
chopped ahh by @sriramm | Stardance
|
sriramm
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: chopped ahh by @sriramm | Stardance
|
1793267584.0958562
|
1793872384.0958562
|
|
51173
|
choques espaciales by @danb0219 | Stardance
|
danb0219
|
0
|
4.66
|
0
|
[]
|
[{"post_id": 51395, "ts": "202 [{"post_id": 51395, "ts": "2026-08-21T02:14:46Z", "hours": 1.7481, "text": "dia 3 en este dia lv esq me la pase corrigiendo algunos fallos que tenia la pag arreglando problemas de gravedad, masa y velocidad ademas de que estoy abierto a ideas ademas de que pienso volverlo aun mas interactivo"}, {"post_id": 50741, "ts": "2026-08-20T02:54:28Z", "hours": 2.1983, "text": "dia 2 que creen que deberia agregarle?"}, {"post_id": 50061, "ts": "2026-08-19T03:09:58Z", "hours": 0.7103, "text": "hoy apenas estoy haciendo de un borrrador de los planetas en 3d"}]...
|
Title: choques espaciales by @danb0219 | Stardance Title: choques espaciales by @danb0219 | Stardance
Devlogs:
hoy apenas estoy haciendo de un borrrador de los planetas en 3d
dia 2 que creen que deberia agregarle?
dia 3 en este dia lv esq me la pase corrigiendo algunos fallos que tenia la pag arreglando problemas de gravedad, masa y velocidad ademas de que estoy abierto a ideas ademas de que pienso volverlo aun mas interactivo...
|
1793379258.610538
|
1793984058.610538
|
|
59144
|
chorus guitar pedal by @Crunchy547 | Stardance
|
Crunchy547
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: chorus guitar pedal by @Crunchy547 | Starda Title: chorus guitar pedal by @Crunchy547 | Stardance...
|
1793533826.154968
|
1794138626.154968
|
|
57481
|
chromaQR by @EVINJSUBIN | Stardance
|
|
0
|
7.46
|
0
|
[]
|
[{"post_id": 61502, "ts": "202 [{"post_id": 61502, "ts": "2026-09-04T13:33:12Z", "hours": 7.4572, "text": "Made initial html"}]...
|
Title: chromaQR by @EVINJSUBIN | Stardance
Devlog Title: chromaQR by @EVINJSUBIN | Stardance
Devlogs:
Made initial html...
|
1792929015.0154557
|
1793793015.0154557
|
|
68359
|
chrome extension by @victorini13 | Stardance
|
victorini13
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: chrome extension by @victorini13 | Stardanc Title: chrome extension by @victorini13 | Stardance...
|
1793739321.00405
|
1794344121.00405
|
|
44234
|
chrome-buddy by @AyushKushwaha | Stardance
|
AyushKushwaha
|
1
|
6.0
|
20
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-08T08:26:35Z", "hours": 6.0, "multiplier": 3.28, "payout": 20, "blessing": "neutral", "text": "I have create a chrome extension that will trace you website usage and time spent on the website , it also have chrome notification for water intake , you can also add your own reminders. It has simple , clean and attractive ui . the problem i faced in storage , how to store the times in local chrome storage but it got solved https://developer.chrome.com/docs/extensions/reference/api/storage i used this and chatgpt to learn about this . when i get stuck i used chatgpt , i used it as a learning tool , not just to copy paste the code. it was my idea , I made the ui simple , clean and attracting , eye comforting . Thats all for this project hope you all will like this project .", "repo": "https://github.com/ayush-bug/Chrome-Buddy/", "demo": "https://github.com/ayush-bug/Chrome-Buddy/releases/tag/v1.0.0"}]...
|
[{"post_id": 43151, "ts": "202 [{"post_id": 43151, "ts": "2026-08-08T08:14:22Z", "hours": 0.8425, "text": "devlog 6 : finnaly complete the my first chrome extension , you can also use it form here https://github.com/ayush-bug/Chrome-Buddy"}, {"post_id": 43120, "ts": "2026-08-08T06:37:34Z", "hours": 0.5978, "text": "Devlog 5 : added tow more cards for yesterday usage and last 1 week , also change the color of the website container ."}, {"post_id": 42493, "ts": "2026-08-07T08:13:38Z", "hours": 1.8839, "text": "Devlog 4 : Added a new section for reminder section , in this you can add your title and date, time - to get reminder , so that you will not miss any thing and be on time ."}, {"post_id": 41786, "ts": "2026-08-06T05:55:34Z", "hours": 0.2944, "text": "devlog 3 : finally add the chrome notification to notify about water intake …"}, {"post_id": 41780, "ts": "2026-08-06T05:35:32Z", "hours": 0.8439, "text": "devlog 2 of the chrome buddy , complete the main part of storage and dashboard , will add more feature like water intake notification and , study break and many more to come"}, {"post_id": 41446, "ts": "2026-08-05T17:38:03Z", "hours": 1.7408, "text": "making a chrome buddy that will trace you working hours and also give me alert for water intake and many more features coming soon .. , the ui may be differ as i like ."}]...
|
Title: chrome-buddy by @AyushKushwaha | Stardance
Title: chrome-buddy by @AyushKushwaha | Stardance
Devlogs:
making a chrome buddy that will trace you working hours and also give me alert for water intake and many more features coming soon .. , the ui may be differ as i like .
devlog 2 of the chrome buddy , complete the main part of storage and dashboard , will add more feature like water intake notification and , study break and many more to come
devlog 3 : finally add the chrome notification to notify about water intake …
Devlog 4 : Added a new section for reminder section , in this you can add your title and date, time - to get reminder , so that you will not miss any thing and be on time .
Devlog 5 : added tow more cards for yesterday usage and last 1 week , also change the color of the website container .
devlog 6 : finnaly complete the my first chrome extension , you can also use it form here https://github.com/ayush-bug/Chrome-Buddy
Ships:
I have create a chrome extension that will trace you website usage and time spent on the website , it also have chrome notification for water intake , you can also add your own reminders. It has simple , clean and attractive ui . the problem i faced in storage , how to store the times in local chrome storage but it got solved https://developer.chrome.com/docs/extensions/reference/api/storage i used this and chatgpt to learn about this . when i get stuck i used chatgpt , i used it as a learning tool , not just to copy paste the code. it was my idea , I made the ui simple , clean and attracting , eye comforting . Thats all for this project hope you all will like this project ....
|
1793847409.6149642
|
1793933809.6149642
|
|
35114
|
chromecast remote on pc by @Preloading | Stardance
|
Preloading
|
0
|
3.81
|
0
|
[]
|
[{"post_id": 28600, "ts": "202 [{"post_id": 28600, "ts": "2026-07-14T22:57:56Z", "hours": 1.0697, "text": "OK, Stardance REALLY hates my uploaded videos ig, I managed to get the voice stuff working to STT. On Linux…. My target platform is windows, since that’s what my desktop runs on. Windows is bad, and doesn’t expose the HID portion of the remote thru GATT (bluetooth LE), so I get to rewrite to use HID APIs YIPEEEE"}, {"post_id": 28373, "ts": "2026-07-14T16:23:02Z", "hours": 2.7425, "text": "OK apparently my previous one was more than 50mb, and I didnt notice. So here’s my next thing! I’m getting the voice activated stuff to work, so you can talk to search and such. Previously I made the buttons work correctly. The light is based on whether it’s recording."}]...
|
Title: chromecast remote on pc by @Preloading | St Title: chromecast remote on pc by @Preloading | Stardance
Devlogs:
OK apparently my previous one was more than 50mb, and I didnt notice. So here’s my next thing! I’m getting the voice activated stuff to work, so you can talk to search and such. Previously I made the buttons work correctly. The light is based on whether it’s recording.
OK, Stardance REALLY hates my uploaded videos ig, I managed to get the voice stuff working to STT. On Linux…. My target platform is windows, since that’s what my desktop runs on. Windows is bad, and doesn’t expose the HID portion of the remote thru GATT (bluetooth LE), so I get to rewrite to use HID APIs YIPEEEE...
|
1793397175.75344
|
1794001975.75344
|
|
8487
|
chronovisor by @subhansh | Stardance
|
|
0
|
18.05
|
0
|
[]
|
[{"post_id": 33951, "ts": "202 [{"post_id": 33951, "ts": "2026-07-24T09:14:45Z", "hours": 7.6253, "text": "Today was about giving the satellite engine a skeleton key. The satellite engine could see, but it couldn’t understand . Day 2 was all about layering context on top of context until patterns start to surface. Environmental Layer First ISRIC SoilGrids v2.0: Pulled clay percentage, sand, silt, pH, and organic carbon. Every number comes with uncertainty bounds because soil data is never clean. USGS Earthquake Catalogs: If a location has had 20+ quakes, that’s active fault territory and anything buried is scrambled. WorldPop Population Density: Tells you whether you’re looking at farmland or wilderness. Water Table Depth: Estimated from elevation. Shallow groundwater rots organic material; deep water means preservation. Archaeological Databases Wikidata & Pleiades: Hit Wikidata SPARQL directly for Pleiades entries—that’s every known archaeological site in the ancient world. GBIF Species Occurrence: Cross-referenced with GBIF data (civilizations cluster near water and arable land, and species distribution proves it). NOAA World Magnetic Model: Plugged in NOAA’s WMM for IGRF magnetic field calculations—buried structures distort local magnetic fields. NASA VIIRS Nighttime Lights (VNP46A2): Added night light data to map modern human activity patterns. Geospatial Helpers: Integrated OpenTopography DEM availability checks, geocoding via Nominatim, and full site suitability scoring based on known site proximity, climate, and magnetic anomalies. Web Archive Evidence Wayback Machine CDX API: Search by place name and coordinates, running archaeological keyword matching across archived pages. OSM Overpass: Querying historic and heritage feature tags. Building Density Analysis: Sparse buildings in a fertile area = something’s off. Cross-Reference Engine Pleiades, Wikidata, GBIF, and VIIRS nightlights all get matched against each other. If an ancient settlement shows up in three sources but the area is now empty, that’s a red flag. Temporal Trends: Pulled temperature trends from Open-Meteo (2020–2023) to analyze climate shifts. Batch Scanning: Built batch capabilities so you can process 20 sets of coordinates simultaneously. Fusion Engine — The Actual Brain Took every data source and wired them into a 7-component weighted scoring system: Satellite Anomaly Score ( 35% ) Signal strength × data quality × inverse correlation bonus when NDVI/NDWI/thermal agree. Soil Preservation ( 20% ) Clay > 350g/kg = +35%, Sand > 600g/kg = -25%, pH 6.5–8.0 sweet spot. Seismic Filter ( 10% ) 20+ quakes = -25%, Moderate = -10%, Quiet = neutral. Water Table Depth ( 10% ) <5m = -20%, >30m = +20%, No data = +30%. OSM Historic Context ( 10% ) Historic features nearby = +30%, Dense = neutral, Sparse = survey opportunity. Temporal Consistency ( 10% ) Significant NDVI trend + $R^2 > 0.3$ = +30%, Change events = +5%/event. Web Archive Evidence ( 5% ) Archaeological content in history = +55%, Multiple hits = +25%."}, {"post_id": 30711, "ts": "2026-07-18T14:53:52Z", "hours": 10.4211, "text": "Chronovisor — Devlog 1 🍓😺 So I had an idea that probably sounds a bit out there at first glance: What if you could point at any spot on Earth and get a read on whether something is buried underneath? And what if you could do it without ground-penetrating radar, drones, or anything physical—just satellite data and a bunch of free APIs? I decided to see if I could actually build it. I’m calling it Chronovisor . What I actually did The core of the project is a satellite data engine that pulls imagery directly from Google Earth Engine. Right now, I’m tapping into Sentinel-2 data (10m resolution, available from 2017 onward) and calculating spectral indices directly from the raw band data. I’m tracking: NDVI (Vegetation health) NDWI (Moisture levels) NDBI (Built-up/urban areas) Plus: BSI, SAVI, and NDMI. The underlying theory is straightforward: buried structures mess with the surface. A stone foundation stops roots from growing properly. Ancient walls alter water drainage. Different materials retain heat differently. If you can read those subtle patterns from orbit over time, you can potentially spot an archaeological site or a forgotten structure without ever setting foot on the ground. For the heavy lifting, I built an anomaly detection pipeline that flags anything sitting two standard deviations away from the mean across the time series. The math isn’t overly complex, but it’s highly effective. When a specific coordinate consistently shows up as “weird” across multiple independent satellite passes, you know you’ve got a real signal. The piece I’m most proud of is the structural probability scoring . I detrend the NDVI and thermal data to strip out seasonal spikes, then check if they’re inversely correlated. If you have uncharacteristically low vegetation right where the thermal signature is unusually high (or vice versa), that’s the classic signature of subsurface interference. The code evaluates this and outputs a score from 0 to 100. It doesn’t declare a definitive “find”—it just screams, “Hey, look closer at this exact spot.” On the infrastructure side, I set up: A FastAPI backend utilizing a two-tier cache (in-memory + disk) with SHA-256 hashing to keep things snappy. A clean CLI entry point for quick scripting. A Leaflet-based frontend styled in a dark theme (obviously). Managing Expectations: What it actually does I want to be completely transparent about what this tool is—and what it isn’t. This system does not tell you what is underground. It analyzes surface patterns and scores how likely it is that something is disrupting them. When the system flags a “possible buried structure,” it is strictly saying that the vegetation and thermal patterns match the footprint of subsurface interference. Nothing more. The signal processor uses real analytical tools—Fast Fourier Transforms (FFT), harmonic detection, and autocorrelation. However, it requires legitimate sensor data to function. It doesn’t conjure findings out of thin air, and the EM field mapping elements are tools for processing input data, not magic discovery engines. What’s next Right now, the satellite engine is great at spotting anomalies, but it has zero context about the ground it’s looking at. Next up, I’m building connectors for: Local soil composition data Seismic activity logs Water table estimates An archaeological database queried via Wikidata SPARQL. The goal is to evolve the output from a basic “this spot has weird NDVI” into something incredibly actionable: “This spot has a strange NDVI anomaly, sits on a clay soil type known to preserve structures, is located within 2km of a known ancient settlement, and suffers from low seismic noise.” That’s the kind of signal that gets interesting. Stay tuned."}]...
|
Title: chronovisor by @subhansh | Stardance
Devlo Title: chronovisor by @subhansh | Stardance
Devlogs:
Chronovisor — Devlog 1 🍓😺 So I had an idea that probably sounds a bit out there at first glance: What if you could point at any spot on Earth and get a read on whether something is buried underneath? And what if you could do it without ground-penetrating radar, drones, or anything physical—just satellite data and a bunch of free APIs? I decided to see if I could actually build it. I’m calling it Chronovisor . What I actually did The core of the project is a satellite data engine that pulls imagery directly from Google Earth Engine. Right now, I’m tapping into Sentinel-2 data (10m resolution, available from 2017 onward) and calculating spectral indices directly from the raw band data. I’m tracking: NDVI (Vegetation health) NDWI (Moisture levels) NDBI (Built-up/urban areas) Plus: BSI, SAVI, and NDMI. The underlying theory is straightforward: buried structures mess with the surface. A stone foundation stops roots from growing properly. Ancient walls alter water drainage. Different materials retain heat differently. If you can read those subtle patterns from orbit over time, you can potentially spot an archaeological site or a forgotten structure without ever setting foot on the ground. For the heavy lifting, I built an anomaly detection pipeline that flags anything sitting two standard deviations away from the mean across the time series. The math isn’t overly complex, but it’s highly effective. When a specific coordinate consistently shows up as “weird” across multiple independent satellite passes, you know you’ve got a real signal. The piece I’m most proud of is the structural probability scoring . I detrend the NDVI and thermal data to strip out seasonal spikes, then check if they’re inversely correlated. If you have uncharacteristically low vegetation right where the thermal signature is unusually high (or vice versa), that’s the classic signature of subsurface interference. The code evaluates this and outputs a score from 0 to 100. It doesn’t declare a definitive “find”—it just screams, “Hey, look closer at this exact spot.” On the infrastructure side, I set up: A FastAPI backend utilizing a two-tier cache (in-memory + disk) with SHA-256 hashing to keep things snappy. A clean CLI entry point for quick scripting. A Leaflet-based frontend styled in a dark theme (obviously). Managing Expectations: What it actually does I want to be completely transparent about what this tool is—and what it isn’t. This system does not tell you what is underground. It analyzes surface patterns and scores how likely it is that something is disrupting them. When the system flags a “possible buried structure,” it is strictly saying that the vegetation and thermal patterns match the footprint of subsurface interference. Nothing more. The signal processor uses real analytical tools—Fast Fourier Transforms (FFT), harmonic detection, and autocorrelation. However, it requires legitimate sensor data to function. It doesn’t conjure findings out of thin air, and the EM field mapping elements are tools for processing input data, not magic discovery engines. What’s next Right now, the satellite engine is great at spotting anomalies, but it has zero context about the ground it’s looking at. Next up, I’m building connectors for: Local soil composition data Seismic activity logs Water table estimates An archaeological database queried via Wikidata SPARQL. The goal is to evolve the output from a basic “this spot has weird NDVI” into something incredibly actionable: “This spot has a strange NDVI anomaly, sits on a clay soil type known to preserve structures, is located within 2km of a known ancient settlement, and suffers from low seismic noise.” That’s the kind of signal that gets interesting. Stay tuned.
Today was about giving the satellite engine a skeleton key. The satellite engine could see, but it couldn’t understand . Day 2 was all about layering context on top of context until patterns start to surface. Environmental Layer First ISRIC SoilGrids v2.0: Pulled clay percentage, sand, silt, pH, and organic carbon. Every number comes with uncertainty bounds because soil data is never clean. USGS Earthquake Catalogs: If a location has had 20+ quakes, that’s active fault territory and anything buried is scrambled. WorldPop Population Density: Tells you whether you’re looking at farmland or wilderness. Water Table Depth: Estimated from elevation. Shallow groundwater rots organic material; deep water means preservation. Archaeological Databases Wikidata & Pleiades: Hit Wikidata SPARQL directly for Pleiades entries—that’s every known archaeological site in the ancient world. GBIF Species Occurrence: Cross-referenced with GBIF data (civilizations cluster near water and arable land, and species distribution proves it). NOAA World Magnetic Model: Plugged in NOAA’s WMM for IGRF magnetic field calculations—buried structures distort local magnetic fields. NASA VIIRS Nighttime Lights (VNP46A2): Added night light data to map modern human activity patterns. Geospatial Helpers: Integrated OpenTopography DEM availability checks, geocoding via Nominatim, and full site suitability scoring based on known site proximity, climate, and magnetic anomalies. Web Archive Evidence Wayback Machine CDX API: Search by place name and coordinates, running archaeological keyword matching across archived pages. OSM Overpass: Querying historic and heritage feature tags. Building Density Analysis: Sparse buildings in a fertile area = something’s off. Cross-Reference Engine Pleiades, Wikidata, GBIF, and VIIRS nightlights all get matched against each other. If an ancient settlement shows up in three sources but the area is now empty, that’s a red flag. Temporal Trends: Pulled temperature trends from Open-Meteo (2020–2023) to analyze climate shifts. Batch Scanning: Built batch capabilities so you can process 20 sets of coordinates simultaneously. Fusion Engine — The Actual Brain Took every data source and wired them into a 7-component weighted scoring system: Satellite Anomaly Score ( 35% ) Signal strength × data quality × inverse correlation bonus when NDVI/NDWI/thermal agree. Soil Preservation ( 20% ) Clay > 350g/kg = +35%, Sand > 600g/kg = -25%, pH 6.5–8.0 sweet spot. Seismic Filter ( 10% ) 20+ quakes = -25%, Moderate = -10%, Quiet = neutral. Water Table Depth ( 10% ) <5m = -20%, >30m = +20%, No data = +30%. OSM Historic Context ( 10% ) Historic features nearby = +30%, Dense = neutral, Sparse = survey opportunity. Temporal Consistency ( 10% ) Significant NDVI trend + $R^2 > 0.3$ = +30%, Change events = +5%/event. Web Archive Evidence ( 5% ) Archaeological content in history = +55%, Multiple hits = +25%....
|
1793270942.7042906
|
1793875742.7042906
|
|
7532
|
chudatron3000 by @freakliter | Stardance
|
freakliter
|
0
|
2.33
|
0
|
[]
|
[{"post_id": 15921, "ts": "202 [{"post_id": 15921, "ts": "2026-06-25T21:24:47Z", "hours": 0.7228, "text": "Whats up stardance nation. I just got verified so u guys probably are seeing my posts for the first time. So anyways yesterday I added my first real command to chudatron3000: /spam. Basically when it’s used it will prompt you for a phrase. Then it will repeat that phrase ovr and over again until it hits discords character limit of 2000 characters. I made it so that it automatically added a space between each iteration if you didn’t already have one. The code isn’t too complicated, setting everything up was the hard part. And that’s coming from me who is a certified python chud. Next I will try to add a button that will run the command again. I tried doing that yesterday but gave up. I need to actually learn what’s going on instead of just following yt videos"}, {"post_id": 7565, "ts": "2026-06-12T17:24:38Z", "hours": 1.2025, "text": "Today I made my first command: 67 calculator. U input a number and it tells u how far away it is from 67 (absolute value) It took a super long time cause I had to find out how to sync to discord or whatevr. #embarassing"}, {"post_id": 5246, "ts": "2026-06-08T23:13:23Z", "hours": 0.4078, "text": "Today I watched a tutorial to learn how to set up the discord bot. I spent like 45 minutes trying to find out how to import the discord thing. It is harder than it looks. Here are some notable entries from my search history: “Install discord.py” “Install discord.py Mac” “How to uninstall discord.py” “What is pip3” “How to open the terminal vscode” “How to stop terminal vscode” “What is class in python”"}]...
|
Title: chudatron3000 by @freakliter | Stardance
D Title: chudatron3000 by @freakliter | Stardance
Devlogs:
Today I watched a tutorial to learn how to set up the discord bot. I spent like 45 minutes trying to find out how to import the discord thing. It is harder than it looks. Here are some notable entries from my search history: “Install discord.py” “Install discord.py Mac” “How to uninstall discord.py” “What is pip3” “How to open the terminal vscode” “How to stop terminal vscode” “What is class in python”
Today I made my first command: 67 calculator. U input a number and it tells u how far away it is from 67 (absolute value) It took a super long time cause I had to find out how to sync to discord or whatevr. #embarassing
Whats up stardance nation. I just got verified so u guys probably are seeing my posts for the first time. So anyways yesterday I added my first real command to chudatron3000: /spam. Basically when it’s used it will prompt you for a phrase. Then it will repeat that phrase ovr and over again until it hits discords character limit of 2000 characters. I made it so that it automatically added a space between each iteration if you didn’t already have one. The code isn’t too complicated, setting everything up was the hard part. And that’s coming from me who is a certified python chud. Next I will try to add a button that will run the command again. I tried doing that yesterday but gave up. I need to actually learn what’s going on instead of just following yt videos...
|
1793451074.2008007
|
1794055874.2008007
|
|
41030
|
chukki by @Ramithu | Stardance
|
Ramithu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: chukki by @Ramithu | Stardance
|
1793537433.2997625
|
1794142233.2997625
|
|
35286
|
cinema plane by @matynocz | Stardance
|
matynocz
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: cinema plane by @matynocz | Stardance
|
1793296510.9710934
|
1793901310.9710934
|
|
53223
|
cinematch by @rushabh69 | Stardance
|
rushabh69
|
1
|
26.74
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-25T05:34:13Z", "hours": 21.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "CineMatch is a movie recommendation engine I built on the MovieLens dataset (~100K ratings) — it compares five approaches (popularity baseline, user-based and item-based collaborative filtering, SVD matrix factorization, and a content+CF hybrid), gives cited “because you liked X, Y, Z” explanations, handles brand-new users with a cold-start fallback, has a similar-movies search, and shows a live model-comparison dashboard, all deployed on Streamlit with poster art from TMDB. The challenging parts were both ML and infra: my neighborhood models kept top-ranking obscure movies that one person rated 5 stars so precision was ~0.01 until I added support-based shrinkage (jumped to ~0.13), and I learned the hard way that the best-RMSE model isn’t the best recommender — SVD won on RMSE but the hybrid ranks best — plus the posters worked locally but the deploy fought me with SSL cert errors and random TLS connection resets that I fixed with certifi and a curl fallback. I’m proud that it’s not just “a recommender” but actually evaluates models honestly with real metrics (RMSE, MAE, precision@k, recall@k), explains its picks, handles cold start two ways, and is shipped live end-to-end with a clean UI. To test it, just open the live app at https://cinematch-c7yuqnyee7sy2f3im28wbv.streamlit.app/ (no setup) — pick any user ID for personalized recs with explanations, search a title under “Similar Movies” (try “Matrix”), use “New User” to simulate a cold start by picking a few movies you like, and check the “Model Comparison” page to see how the five models stack up; the first load takes a few seconds to warm up.", "repo": "https://github.com/rushabh69/cinematch", "demo": "https://sprightly-horse-f8df5b.netlify.app/"}]...
|
[{"post_id": 55400, "ts": "202 [{"post_id": 55400, "ts": "2026-08-27T06:30:15Z", "hours": 5.7367, "text": "got feedback that streamlit sleeps, so i moved cinematch off it. instead of a live server i precomputed all the recommendations, similar movies and posters into json (build_static.py), and wrote a small static frontend — index.html, style.css, app.js — that just loads those and shows the cards. now it’s a plain static site i can throw on netlify/pages for free with no sleeping. bonus: posters get baked in at build time so the whole tmdb ssl mess on windows goes away."}, {"post_id": 54268, "ts": "2026-08-25T04:59:57Z", "hours": 5.2047, "text": "wrapped up cinematch today. spent way too long fighting the movie posters lol - added tmdb api to show poster art instead of plain tables, worked instantly on my main machine but the vm kept throwing ssl cert errors and then random connection resets (10054). turned out the vm’s python couldnt verify https certs so fixed that with certifi, and then some antivirus/firewall thing was resetting python’s tls connections while curl worked fine, so i made it fall back to curl when urllib fails. finally got posters loading. also cleaned up so it gracefully shows placeholder cards if theres no api key. then deployed the whole thing to streamlit community cloud (free) so theres an actual live demo link now, added the tmdb key as a secret so its not exposed. so cinematch is officially done - 5 recommendation models compared, cited “because you liked x,y,z” explanations, cold start handling, similar movies, model comparison dashboard, poster art, tests passing, readme + report written, and deployed live. pretty happy with how it turned out."}, {"post_id": 54032, "ts": "2026-08-24T19:42:30Z", "hours": 7.1494, "text": "back on cinematch today, mostly turning the models into something you can actually use. wrapped everything behind a facade class so theres one clean api (get_recommendations, get_similar_movies, cold start fold-in, explanations) instead of poking at each model directly. then built a cli with subcommands - recommend, similar, search, newuser, compare etc - which made testing way faster. after that did the streamlit app, four tabs: personalized recs with the “because you liked x,y,z” reasons, a similar-movies search, a new-user cold start page, and a model comparison page with the rmse/precision charts. kinda satisfying seeing the numbers from the terminal turn into an actual clickable ui. small stuff slowed me down (forgot to activate the venv once, a typo’d argparse arg) but nothing major. everything pushed to github. next up is tests + cleaning the readme, then trying to deploy the streamlit app."}, {"post_id": 53699, "ts": "2026-08-24T11:32:18Z", "hours": 9.1169, "text": "spent basically the whole day on cinematch, my movie recommender built on the movielens data. got the data pipeline done first (cleaning, filtering out users/movies with under 5 ratings, per-user 80/20 split) then built 5 models to actually compare instead of just picking one - popularity baseline, user-based CF, item-based CF, SVD with the surprise library, and a hybrid mixing collaborative + content. most annoying part was my neighborhood models kept recommending random obscure movies that one person happened to rate 5 stars, precision was like 0.01. added some shrinkage so thinly-backed picks get pushed down and it jumped to ~0.13. also kind of learned the hard way that best RMSE doesnt mean best recommendations - SVD won on RMSE but the hybrid actually ranks better. threw in cold-start handling, a similar-movies feature and “because you liked x, y, z” explanations, then wrapped it all in a streamlit app. also fixed a dumb 248mb cache bug (dense matrices that shouldve been sparse, now ~34mb). 11 tests passing. pretty happy with it, gonna clean up the readme and try deploying tomorrow."}]...
|
Title: cinematch by @rushabh69 | Stardance
Devlog Title: cinematch by @rushabh69 | Stardance
Devlogs:
spent basically the whole day on cinematch, my movie recommender built on the movielens data. got the data pipeline done first (cleaning, filtering out users/movies with under 5 ratings, per-user 80/20 split) then built 5 models to actually compare instead of just picking one - popularity baseline, user-based CF, item-based CF, SVD with the surprise library, and a hybrid mixing collaborative + content. most annoying part was my neighborhood models kept recommending random obscure movies that one person happened to rate 5 stars, precision was like 0.01. added some shrinkage so thinly-backed picks get pushed down and it jumped to ~0.13. also kind of learned the hard way that best RMSE doesnt mean best recommendations - SVD won on RMSE but the hybrid actually ranks better. threw in cold-start handling, a similar-movies feature and “because you liked x, y, z” explanations, then wrapped it all in a streamlit app. also fixed a dumb 248mb cache bug (dense matrices that shouldve been sparse, now ~34mb). 11 tests passing. pretty happy with it, gonna clean up the readme and try deploying tomorrow.
back on cinematch today, mostly turning the models into something you can actually use. wrapped everything behind a facade class so theres one clean api (get_recommendations, get_similar_movies, cold start fold-in, explanations) instead of poking at each model directly. then built a cli with subcommands - recommend, similar, search, newuser, compare etc - which made testing way faster. after that did the streamlit app, four tabs: personalized recs with the “because you liked x,y,z” reasons, a similar-movies search, a new-user cold start page, and a model comparison page with the rmse/precision charts. kinda satisfying seeing the numbers from the terminal turn into an actual clickable ui. small stuff slowed me down (forgot to activate the venv once, a typo’d argparse arg) but nothing major. everything pushed to github. next up is tests + cleaning the readme, then trying to deploy the streamlit app.
wrapped up cinematch today. spent way too long fighting the movie posters lol - added tmdb api to show poster art instead of plain tables, worked instantly on my main machine but the vm kept throwing ssl cert errors and then random connection resets (10054). turned out the vm’s python couldnt verify https certs so fixed that with certifi, and then some antivirus/firewall thing was resetting python’s tls connections while curl worked fine, so i made it fall back to curl when urllib fails. finally got posters loading. also cleaned up so it gracefully shows placeholder cards if theres no api key. then deployed the whole thing to streamlit community cloud (free) so theres an actual live demo link now, added the tmdb key as a secret so its not exposed. so cinematch is officially done - 5 recommendation models compared, cited “because you liked x,y,z” explanations, cold start handling, similar movies, model comparison dashboard, poster art, tests passing, readme + report written, and deployed live. pretty happy with how it turned out.
got feedback that streamlit sleeps, so i moved cinematch off it. instead of a live server i precomputed all the recommendations, similar movies and posters into json (build_static.py), and wrote a small static frontend — index.html, style.css, app.js — that just loads those and shows the cards. now it’s a plain static site i can throw on netlify/pages for free with no sleeping. bonus: posters get baked in at build time so the whole tmdb ssl mess on windows goes away.
Ships:
CineMatch is a movie recommendation engine I built on the MovieLens dataset (~100K ratings) — it compares five approaches (popularity baseline, user-based and item-based collaborative filtering, SVD matrix factorization, and a content+CF hybrid), gives cited “because you liked X, Y, Z” explanations, handles brand-new users with a cold-start fallback, has a similar-movies search, and shows a live model-comparison dashboard, all deployed on Streamlit with poster art from TMDB. The challenging parts were both ML and infra: my neighborhood models kept top-ranking obscure movies that one person rated 5 stars so precision was ~0.01 until I added support-based shrinkage (jumped to ~0.13), and I learned the hard way that the best-RMSE model isn’t the best recommender — SVD won on RMSE but the hybrid ranks best — plus the posters worked locally but the deploy fought me with SSL cert errors and random TLS connection resets that I fixed with certifi and a curl fallback. I’m proud that it’s not just “a recommender” but actually evaluates models honestly with real metrics (RMSE, MAE, precision@k, recall@k), explains its picks, handles cold start two ways, and is shipped live end-to-end with a clean UI. To test it, just open the live app at https://cinematch-c7yuqnyee7sy2f3im28wbv.streamlit.app/ (no setup) — pick any user ID for personalized recs with explanations, search a title under “Similar Movies” (try “Matrix”), use “New User” to simulate a cold start by picking a few movies you like, and check the “Model Comparison” page to see how the five models stack up; the first load takes a few seconds to warm up....
|
1793746242.4018102
|
1793832642.4018102
|
|
44746
|
cipher encoder by @tombikadam2009 | Stardance
|
tombikadam2009
|
0
|
7.26
|
0
|
[]
|
[{"post_id": 46057, "ts": "202 [{"post_id": 46057, "ts": "2026-08-13T00:11:15Z", "hours": 2.5044, "text": "Instead of adding a new encryption method today, I optimized the code’s operating logic to improve it."}, {"post_id": 45472, "ts": "2026-08-11T23:33:27Z", "hours": 1.8086, "text": "cipher encoder version 0.4 added: -base64 -base16"}, {"post_id": 44299, "ts": "2026-08-09T23:23:33Z", "hours": 2.9503, "text": "cipher encoder v0.2 -binary -morse"}]...
|
Title: cipher encoder by @tombikadam2009 | Stardan Title: cipher encoder by @tombikadam2009 | Stardance
Devlogs:
cipher encoder v0.2 -binary -morse
cipher encoder version 0.4 added: -base64 -base16
Instead of adding a new encryption method today, I optimized the code’s operating logic to improve it....
|
1793292665.6788983
|
1793897465.6788983
|
|
45793
|
circle by @mepsht | Stardance
|
mepsht
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: circle by @mepsht | Stardance
|
1793353943.1944804
|
1793958743.1944804
|
|
70203
|
civic wick by @Theo_Ss | Stardance
|
Theo_Ss
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: civic wick by @Theo_Ss | Stardance
|
1793605996.9448874
|
1794210796.9448874
|
|
41512
|
ckjc application system by @undefined_chang | Star ckjc application system by @undefined_chang | Stardance...
|
undefined_chang
|
1
|
16.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-02T13:17:25Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Since the old application system based on Notion Forms does not meet our requirements well, and is not suitable for the current workflow that is integrated into Google Workspace, I made an online application system for the student council! I learned a lot about Google AppsScript, CSS, JavaScript, and even learned how to use GitHub Actions! The system supports three types of applications: resolutions, charter lawsuits, and general lawsuits. Each type comes with different fields, but I’ve managed to integrate them all into one workflow with only Vanilla JS.", "repo": "https://github.com/mm-news/ckjc-application-system", "demo": "https://script.google.com/macros/s/AKfycbzYxZYG2xvMxWb3ZlIFS9RmLvAFN_-yRGibR450BRXQwSUGBbPx6-F_wbT1HZMDsRr4/exec"}]...
|
[{"post_id": 39303, "ts": "202 [{"post_id": 39303, "ts": "2026-08-02T05:59:05Z", "hours": 0.9431, "text": "Learned how to use Bootstrap’s alert class! An alert will now be displayed to remind users to proceed to dev branch (on prod) or that the application won’t be sent to the official address (on dev) based on the script properties."}, {"post_id": 39255, "ts": "2026-08-02T03:24:43Z", "hours": 0.6928, "text": "Trying to use docxtemplater to generate application automatically!"}, {"post_id": 37019, "ts": "2026-07-29T14:20:40Z", "hours": 14.5411, "text": "Used GitHub Actions to automate pushing and deploying to Google AppsScript!"}]...
|
Title: ckjc application system by @undefined_chang Title: ckjc application system by @undefined_chang | Stardance
Devlogs:
Used GitHub Actions to automate pushing and deploying to Google AppsScript!
Trying to use docxtemplater to generate application automatically!
Learned how to use Bootstrap’s alert class! An alert will now be displayed to remind users to proceed to dev branch (on prod) or that the application won’t be sent to the official address (on dev) based on the script properties.
Ships:
Since the old application system based on Notion Forms does not meet our requirements well, and is not suitable for the current workflow that is integrated into Google Workspace, I made an online application system for the student council! I learned a lot about Google AppsScript, CSS, JavaScript, and even learned how to use GitHub Actions! The system supports three types of applications: resolutions, charter lawsuits, and general lawsuits. Each type comes with different fields, but I’ve managed to integrate them all into one workflow with only Vanilla JS....
|
1793792971.7676384
|
1793879371.7676384
|
|
62529
|
clacker by @cinthia_c_5672 | Stardance
|
cinthia_c_5672
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: clacker by @cinthia_c_5672 | Stardance
|
1793656221.7656455
|
1794261021.7656455
|
|
8140
|
classification by @aadipthapaliya | Stardance
|
aadipthapaliya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: classification by @aadipthapaliya | Stardan Title: classification by @aadipthapaliya | Stardance...
|
1793454991.1712217
|
1794059791.1712217
|
|
46377
|
claude code ( for personal use not used for starda claude code ( for personal use not used for stardance) by @yodha | Stardance...
|
yodha
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: claude code ( for personal use not used for Title: claude code ( for personal use not used for stardance) by @yodha | Stardance...
|
1793382682.8714871
|
1793987482.8714871
|
|
12487
|
claude test by @j18lin | Stardance
|
j18lin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: claude test by @j18lin | Stardance
|
1793825422.151007
|
1794430222.151007
|
|
9952
|
claude-code-usage-insta-bio by @SeasonedRiceFarmer claude-code-usage-insta-bio by @SeasonedRiceFarmer | Stardance...
|
SeasonedRiceFarmer
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: claude-code-usage-insta-bio by @SeasonedRic Title: claude-code-usage-insta-bio by @SeasonedRiceFarmer | Stardance...
|
1793836130.8216245
|
1794440930.8216245
|
|
46533
|
clean-os by @Baule | Stardance
|
Baule
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: clean-os by @Baule | Stardance
|
1793875879.8010583
|
1794739879.8010583
|
|
39828
|
cleanbot by @Alset | Stardance
|
Alset
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: cleanbot by @Alset | Stardance
|
1793246043.523658
|
1793850843.523658
|
|
13512
|
cleancoal.online by @ggbooks | Stardance
|
ggbooks
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: cleancoal.online by @ggbooks | Stardance
|
1793465813.358091
|
1794070613.358091
|
|
42698
|
clearfx by @satvikhardat | Stardance
|
satvikhardat
|
1
|
39.47
|
563
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-06T12:40:30Z", "hours": 37.0, "multiplier": 18.75, "payout": 563, "blessing": "neutral", "text": "A small CLI + website where people can upload TUI designs, and anyone can make those TUI animations show up whenever they type a specific command in their terminal like “clear” or “ls” while also doing the job of that command!!! Package Manager Install the core CLI globally via pip. pip install clearfx Shell Hooks Initialize shell integrations to wrap the clear command automatically. clearfx setup-shell Quick Wrap Want to animate a specific command? Wrap it directly (e.g., wrap ls with the Aurora Fold animation). clearfx wrap ls --anim aurora-fold Reload Shell Source your configuration file to apply the newly added shell hooks. source ~/.bashrc # or ~/.zshrc if you wanna stop the animation you can run clearfx reset", "repo": "https://github.com/random-unknown-username/clearfx/", "demo": "https://clearfx-zeta.vercel.app/"}]...
|
[{"post_id": 41926, "ts": "202 [{"post_id": 41926, "ts": "2026-08-06T13:29:40Z", "hours": 2.4739, "text": "Fixed vercel hosting hell, the whole thing js didnt want to work for soon long, small fix not much, not writing a huge devlog, because the ships already done, and probably wont be working on this again moving forward"}, {"post_id": 41330, "ts": "2026-08-05T14:06:46Z", "hours": 12.5803, "text": "devlog 3: debugging hell and nuking the UI bruh the last 10 hours were an absolute nightmare. the web UI preview was completely broken. you’d hit play, and it would just flash and disappear. i was losing my mind trying to figure out why the terminal was instantly clearing itself. turns out, the core engine’s TerminalSession was doing its job too well. when the animation finished, it sent the ANSI sequence to exit the alternate screen buffer, which is exactly what you want in a real terminal. but in xterm.js , exiting the alternate screen just leaves you with a blank black box! had to wire up a --keep-screen flag all the way through the CLI architecture to intercept that sequence when running inside the web preview. # src/clearfx/engine/terminal.py def __exit__ ( self , exc_type , exc_val , exc_tb ): if not self . keep_screen : # restore alternate screen self . write ( b \" \\033 [?1049l \" ) then there was the resizing bug. xterm.js was fitting to the container, but the PTY backend was hardcoded to 80x24. so it looked super misaligned. had to intercept term.cols and term.rows in React and pass them through the WebSocket JSON payload. wsRef . current . send ( JSON . stringify ({ type : ' run ' , code , width : termRef . current . cols , height : termRef . current . rows })); once the bugs were dead, i looked at the web UI and realized it looked like generic SaaS slop. huge glowing pills, purple gradients everywhere… it was dog shit. so i nuked index.css entirely. built a custom design system inspired by factory.ai. pure dark operations console vibes. strictly monochrome, 8px spacing grid, geist monospace fonts for technical labels, and tiny orange/green signal dots instead of giant colored backgrounds. /* replaced the generic slop with this */ :root { --bg-canvas : #101010 ; --bg-surface : #1D1A18 ; --border-hairline : #34312F ; --signal-orange : #EE6018 ; --font-mono : 'Geist Mono' , monospace ; } the hero section now has a literal UI-in-UI terminal preview embedded in a custom .product-frame . the whole app feels like a precision engineering tool now, not a marketing page. we finally shipped a safe, strictly declarative, gorgeous terminal engine."}, {"post_id": 39256, "ts": "2026-08-02T03:27:42Z", "hours": 10.2494, "text": "devlog 2: nuking the backend and building a safe package format so after the engine was running, i needed a marketplace. initially i spun up a whole fastAPI backend, but maintaining that sounded like a nightmare. so i ripped it all out and moved the entire catalog to firebase. but here’s the catch: if i’m letting randos upload python animations to a public marketplace, they could literally just inject os.system(\"rm -rf /\") inside their design.py and wipe everyone’s machines when they run clear . security was a massive issue. to fix this, i built a compiler that parses the python animation locally, extracts all the elements and keyframes, and bakes them into a purely declarative design.json . def pack ( self , directory : str | Path ) -> Path : # we literally run their code in an isolated builder # and dump the resulting state. no logic is saved. design_data = { \" elements \" : builder . _elements , \" keyframes \" : builder . _keyframes , \" config \" : builder . _config } with zipfile . ZipFile ( out_path , ' w ' ) as zf : zf . writestr ( \" manifest.toml \" , toml_content ) zf . writestr ( \" design.json \" , json . dumps ( design_data )) this means .clearfx packages are just dumb JSON files. the CLI’s DesignInterpreter reads the JSON and feeds it back into the engine safely. zero arbitrary code execution. then i had to build the web studio so people could preview their animations in the browser. getting a live terminal running in react is a pain. i used xterm.js on the frontend, and built a websocket server in python using pty.fork() to spin up a fake terminal session. @app.websocket ( \" /ws/studio \" ) async def websocket_studio ( websocket : WebSocket , width : int = 80 , height : int = 24 ): pid , fd = pty . fork () if pid == 0 : # child process - sets up the fake terminal size winsize = struct . pack ( \" HHHH \" , height , width , 0 , 0 ) fcntl . ioctl ( sys . stdout . fileno (), termios . TIOCSWINSZ , winsize ) os . execvpe ( \" python \" , [ \" python \" , \" -m \" , \" clearfx.cli.main \" , \" preview \" , temp_dir ], env ) so when you click “execute” in the web UI, it literally sends the python code over websockets, saves it to a temp dir, forks a new PTY, runs the engine natively, and pipes the raw ANSI output back to xterm.js . it’s basically magic. but the resize bugs were driving me insane."}, {"post_id": 38827, "ts": "2026-08-01T12:02:35Z", "hours": 14.2386, "text": "devlog 1: building a terminal engine from scratch because clear is boring bro i got so tired of just typing clear and seeing the terminal instantly snap to empty. it’s so boring. so i decided to build a full double-buffered animation engine in python just to replace the clear command. the idea was to make something that hooks into your .bashrc or .zshrc and intercepts clear , plays a sick terminal animation, and then actually clears the screen. first thing i realized: you can’t just print strings to the terminal and expect it to look like a smooth 60fps animation. the flickering is insane if you do that. so i had to build a double-buffered FrameBuffer system from scratch. class FrameBuffer : def diff ( self ) -> list [ tuple [ int , int , Cell ]]: \"\"\" returns only the cells that changed since last frame. \"\"\" changes = [] for i in range ( len ( self . front . cells )): if self . front . cells [ i ] != self . back . cells [ i ]: x = i % self . width y = i // self . width changes . append (( x , y , self . front . cells [ i ])) return changes this is the secret sauce. instead of redrawing 80x24 characters every frame, we only send ANSI escape codes for the exact pixels (cells) that changed. then i built a DiffRenderer that takes those changes and constructs the smallest possible ANSI sequence to move the cursor and update the colors. # snippet from renderer.py for x , y , cell in changes : # only move cursor if we aren't already there if not ( y == cy and x == cx ): out . append ( f \" \\033 [ { y + 1 } ; { x + 1 } H \" ) # write the actual character with truecolor out . append ( f \" \\033 [38;2; { cell . fg [ 0 ] } ; { cell . fg [ 1 ] } ; { cell . fg [ 2 ] } m { cell . char } \" ) after getting the engine running, i needed a way to safely inject it into the shell without destroying people’s configs. built a ShellIntegration class that detects zsh/bash/fish, backs up the config, and safely appends a wrapper. # >>> clearfx managed block >>> if command -v clearfx &>/dev/null ; then clear () { command clearfx play --clear-after } fi # <<< clearfx managed block <<< i spent like 10 hours just getting the core engine to hit 60fps consistently. python is slow, so minimizing string concatenations and using sys.stdout.buffer.write instead of print() was mandatory. next up was actually building out the animation formats and getting a marketplace running so people could share these."}]...
|
Title: clearfx by @satvikhardat | Stardance
Devlo Title: clearfx by @satvikhardat | Stardance
Devlogs:
devlog 1: building a terminal engine from scratch because clear is boring bro i got so tired of just typing clear and seeing the terminal instantly snap to empty. it’s so boring. so i decided to build a full double-buffered animation engine in python just to replace the clear command. the idea was to make something that hooks into your .bashrc or .zshrc and intercepts clear , plays a sick terminal animation, and then actually clears the screen. first thing i realized: you can’t just print strings to the terminal and expect it to look like a smooth 60fps animation. the flickering is insane if you do that. so i had to build a double-buffered FrameBuffer system from scratch. class FrameBuffer : def diff ( self ) -> list [ tuple [ int , int , Cell ]]: """ returns only the cells that changed since last frame. """ changes = [] for i in range ( len ( self . front . cells )): if self . front . cells [ i ] != self . back . cells [ i ]: x = i % self . width y = i // self . width changes . append (( x , y , self . front . cells [ i ])) return changes this is the secret sauce. instead of redrawing 80x24 characters every frame, we only send ANSI escape codes for the exact pixels (cells) that changed. then i built a DiffRenderer that takes those changes and constructs the smallest possible ANSI sequence to move the cursor and update the colors. # snippet from renderer.py for x , y , cell in changes : # only move cursor if we aren't already there if not ( y == cy and x == cx ): out . append ( f " \033 [ { y + 1 } ; { x + 1 } H " ) # write the actual character with truecolor out . append ( f " \033 [38;2; { cell . fg [ 0 ] } ; { cell . fg [ 1 ] } ; { cell . fg [ 2 ] } m { cell . char } " ) after getting the engine running, i needed a way to safely inject it into the shell without destroying people’s configs. built a ShellIntegration class that detects zsh/bash/fish, backs up the config, and safely appends a wrapper. # >>> clearfx managed block >>> if command -v clearfx &>/dev/null ; then clear () { command clearfx play --clear-after } fi # <<< clearfx managed block <<< i spent like 10 hours just getting the core engine to hit 60fps consistently. python is slow, so minimizing string concatenations and using sys.stdout.buffer.write instead of print() was mandatory. next up was actually building out the animation formats and getting a marketplace running so people could share these.
devlog 2: nuking the backend and building a safe package format so after the engine was running, i needed a marketplace. initially i spun up a whole fastAPI backend, but maintaining that sounded like a nightmare. so i ripped it all out and moved the entire catalog to firebase. but here’s the catch: if i’m letting randos upload python animations to a public marketplace, they could literally just inject os.system("rm -rf /") inside their design.py and wipe everyone’s machines when they run clear . security was a massive issue. to fix this, i built a compiler that parses the python animation locally, extracts all the elements and keyframes, and bakes them into a purely declarative design.json . def pack ( self , directory : str | Path ) -> Path : # we literally run their code in an isolated builder # and dump the resulting state. no logic is saved. design_data = { " elements " : builder . _elements , " keyframes " : builder . _keyframes , " config " : builder . _config } with zipfile . ZipFile ( out_path , ' w ' ) as zf : zf . writestr ( " manifest.toml " , toml_content ) zf . writestr ( " design.json " , json . dumps ( design_data )) this means .clearfx packages are just dumb JSON files. the CLI’s DesignInterpreter reads the JSON and feeds it back into the engine safely. zero arbitrary code execution. then i had to build the web studio so people could preview their animations in the browser. getting a live terminal running in react is a pain. i used xterm.js on the frontend, and built a websocket server in python using pty.fork() to spin up a fake terminal session. @app.websocket ( " /ws/studio " ) async def websocket_studio ( websocket : WebSocket , width : int = 80 , height : int = 24 ): pid , fd = pty . fork () if pid == 0 : # child process - sets up the fake terminal size winsize = struct . pack ( " HHHH " , height , width , 0 , 0 ) fcntl . ioctl ( sys . stdout . fileno (), termios . TIOCSWINSZ , winsize ) os . execvpe ( " python " , [ " python " , " -m " , " clearfx.cli.main " , " preview " , temp_dir ], env ) so when you click “execute” in the web UI, it literally sends the python code over websockets, saves it to a temp dir, forks a new PTY, runs the engine natively, and pipes the raw ANSI output back to xterm.js . it’s basically magic. but the resize bugs were driving me insane.
devlog 3: debugging hell and nuking the UI bruh the last 10 hours were an absolute nightmare. the web UI preview was completely broken. you’d hit play, and it would just flash and disappear. i was losing my mind trying to figure out why the terminal was instantly clearing itself. turns out, the core engine’s TerminalSession was doing its job too well. when the animation finished, it sent the ANSI sequence to exit the alternate screen buffer, which is exactly what you want in a real terminal. but in xterm.js , exiting the alternate screen just leaves you with a blank black box! had to wire up a --keep-screen flag all the way through the CLI architecture to intercept that sequence when running inside the web preview. # src/clearfx/engine/terminal.py def __exit__ ( self , exc_type , exc_val , exc_tb ): if not self . keep_screen : # restore alternate screen self . write ( b " \033 [?1049l " ) then there was the resizing bug. xterm.js was fitting to the container, but the PTY backend was hardcoded to 80x24. so it looked super misaligned. had to intercept term.cols and term.rows in React and pass them through the WebSocket JSON payload. wsRef . current . send ( JSON . stringify ({ type : ' run ' , code , width : termRef . current . cols , height : termRef . current . rows })); once the bugs were dead, i looked at the web UI and realized it looked like generic SaaS slop. huge glowing pills, purple gradients everywhere… it was dog shit. so i nuked index.css entirely. built a custom design system inspired by factory.ai. pure dark operations console vibes. strictly monochrome, 8px spacing grid, geist monospace fonts for technical labels, and tiny orange/green signal dots instead of giant colored backgrounds. /* replaced the generic slop with this */ :root { --bg-canvas : #101010 ; --bg-surface : #1D1A18 ; --border-hairline : #34312F ; --signal-orange : #EE6018 ; --font-mono : 'Geist Mono' , monospace ; } the hero section now has a literal UI-in-UI terminal preview embedded in a custom .product-frame . the whole app feels like a precision engineering tool now, not a marketing page. we finally shipped a safe, strictly declarative, gorgeous terminal engine.
Fixed vercel hosting hell, the whole thing js didnt want to work for soon long, small fix not much, not writing a huge devlog, because the ships already done, and probably wont be working on this again moving forward
Ships:
A small CLI + website where people can upload TUI designs, and anyone can make those TUI animations show up whenever they type a specific command in their terminal like “clear” or “ls” while also doing the job of that command!!! Package Manager Install the core CLI globally via pip. pip install clearfx Shell Hooks Initialize shell integrations to wrap the clear command automatically. clearfx setup-shell Quick Wrap Want to animate a specific command? Wrap it directly (e.g., wrap ls with the Aurora Fold animation). clearfx wrap ls --anim aurora-fold Reload Shell Source your configuration file to apply the newly added shell hooks. source ~/.bashrc # or ~/.zshrc if you wanna stop the animation you can run clearfx reset...
|
1793774976.5347357
|
1794638976.5347357
|
|
58175
|
cli tool by @prithvics1106 | Stardance
|
prithvics1106
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: cli tool by @prithvics1106 | Stardance
|
1793476611.757817
|
1794081411.757817
|
|
14076
|
click clack by @aeroghurt | Stardance
|
aeroghurt
|
0
|
9.4
|
0
|
[]
|
[{"post_id": 13029, "ts": "202 [{"post_id": 13029, "ts": "2026-06-21T09:34:37Z", "hours": 9.4036, "text": "I made this little schematic a while ago (when I wasn’t verified), but I’m not sure if it even works (if anyone wants to take a look and correct any errors, feel free to do so :D ) My plan for this hackpad (which I call the Click Clack Pad™ ) is that it will have 3 switches, 1 rotary encoder switch and an OLED that I can display my art on. (Possibly an audio visualizer too for my music?? That would be super cool!) I’m pretty new to this kind of thing but I do have a flair for design (I think) and some experience working with an Arduino, it’s just the technicalities that make my head hurt a bit. But I’m here to get out of my comfort zone and make even cooler things ( yippeee ). The Wakatime for KiCad was bugging out so unfortunately I’ve lost a few hours of time, but thankfully I switched to Lapse before I lost even more. (P.S. I’ve already worked on the PCB, the casing is still in the works) So yeah, see you in the next devlog :DD"}]...
|
Title: click clack by @aeroghurt | Stardance
Devl Title: click clack by @aeroghurt | Stardance
Devlogs:
I made this little schematic a while ago (when I wasn’t verified), but I’m not sure if it even works (if anyone wants to take a look and correct any errors, feel free to do so :D ) My plan for this hackpad (which I call the Click Clack Pad™ ) is that it will have 3 switches, 1 rotary encoder switch and an OLED that I can display my art on. (Possibly an audio visualizer too for my music?? That would be super cool!) I’m pretty new to this kind of thing but I do have a flair for design (I think) and some experience working with an Arduino, it’s just the technicalities that make my head hurt a bit. But I’m here to get out of my comfort zone and make even cooler things ( yippeee ). The Wakatime for KiCad was bugging out so unfortunately I’ve lost a few hours of time, but thankfully I switched to Lapse before I lost even more. (P.S. I’ve already worked on the PCB, the casing is still in the works) So yeah, see you in the next devlog :DD...
|
1793443774.250817
|
1794048574.250817
|